Exposing OIM APIs as webservice
Hi,
I wanted to know if i can expose OIM APIs as webservice?
As per my reqmnt, i need to implement forgot password and change password functionality for OIM users from a portal application.
So wanted to know if I can use OIM APIs say getChallengeValuesForSelf , compareChallengeValuesForSelf, changePasswordForSelf and then expose them as webservice?
Can I do this...
Create a WebService using NetBeans Editor...
In it add a web method, which basically is using OIM API say getChallengeValuesForUser to fetch some value and then returning it as output of this web method?
I'll be setting all the system properties required for calling OIM API here itself and also would make the connection to OIM here.
I tried doing so, but getting an exception while I try to deploy the webservice,
com.sun.xml.ws.model.RuntimeModelerException: The web service defined by the class weblogic.wsee.async.AsyncResponseBeanSoap12 does not contain any valid WebMethods.
Kindly suggest.
Similar Messages
-
Custom Webservice Using OIM APIs
Hi..
How can we create and publish a custom webservice from OIM APIs??
OOTB SPML Webservice does not support all my requirements.
Thanks...The OOTB Web services are mostly asynchronous, so its not mostly suitable for our synchronous activity in OIM. like create,update,enable,disable etc
So in order to develop the webservices...
first of all list down all the methods which u need to publish.
Write Java code for each methods..
after that publish all methods as Webservices (JAX-WS) on Weblogic server where OIM is running.
After that you can access your custom webservices of OIM.
Regards,
J -
Error while initializing OIM API in 11G
I am trying to deploy a webservice exposing some of the OIM API's in 11G[11.1.1.5]. I am using the OIMClient API to initialize the API's. The following code works fine when I run with in the eclipse but doesnt work when it is deployed on the weblogic server[10.3.5]. This is a standalone server where no other web app is deployed. Has anyone faced this issue before. Any pointers on this would be helpful. Thnaks in advance.
System.setProperty("java.security.auth.login.config", "./authwl.conf");
Hashtable<String, String> env = new Hashtable<String, String>();
env.put(OIMClient.JAVA_NAMING_PROVIDER_URL, providerURL);
env.put(OIMClient.JAVA_NAMING_FACTORY_INITIAL, OIMClient.WLS_CONTEXT_FACTORY);
oimClient = new OIMClient(env);
oimClient.login(userName, password.toCharArray());
The exception is :
java.lang.IllegalArgumentException: No Configuration was registered that can handle the configuration named xellerate
java.lang.IllegalArgumentException: No Configuration was registered that can handle the configuration named xellerate
at com.bea.common.security.jdkutils.JAASConfiguration.getAppConfigurationEntry(JAASConfiguration.java:130)
at javax.security.auth.login.LoginContext.init(LoginContext.java:243)
at javax.security.auth.login.LoginContext.<init>(LoginContext.java:403)
at Thor.API.Security.LoginHandler.weblogicLoginHandler.login(weblogicLoginHandler.java:58)
at oracle.iam.platform.OIMClient.login(OIMClient.java:134)
at oracle.iam.platform.OIMClient.login(OIMClient.java:129)
at au.com.suncorp.oim.custom.spml.SuncorpOIMOperations.getInitializedOIMClient(SuncorpOIMOperations.java:113)
at com.suncorp.test.oim.custom.spml.OIMWebServiceSoapBindingImpl.identitySearchByName(OIMWebServiceSoapBindingImpl.java:41)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:397)
at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:186)
at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323)
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:454)
at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:183)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3717)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
Edited by: vindla on 16-Feb-2012 01:10
Edited by: vindla on 16-Feb-2012 01:141) please ensure that the war file which you deploy in WLS is pointing to the authwl.conf file on the machine hosting the war.
2) apart from that make sure you have the following jars added to the calss path or added to the lib folder of the war.
commons-logging-1.1.1.jar;
oimclient.jar;
spring.jar
try removing extra libraries and jars from the war file. it sometimes give errors.
i have done exactly the same thing and it works fine.
rest it looks fine
======code snippet====
System.setProperty("java.security.auth.login.config","/path/authwl.conf");
System.setProperty("OIM.AppServerType", "weblogic");
env.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
env.put(Context.PROVIDER_URL, "t3://host:14000/oim");
try {
oimClient.login("xelsysadm", "password");
} catch (LoginException e) {
e.printStackTrace();
OIMClient oimClient = new OIMClient(env); -
BPM 11g: JAVA API and Webservice API
Who knows BPM 11g: JAVA API and Webservice API?
Customer want to call BPM 11g between Heterogeneous systems, such .net framework. One way is use webservice API, I think, but where can find it? thank youWhen you create a BPM application in 11g, you're actually creating a SOA composite application with a BPMN component in the composite. From within the BPMN editor, you can specify the interface (parameters) of each start node in the process. If you select a start node, look at the implementation tab, you'll see a properties group that lets you define the interface one property at a time, or by selecting an interface from the catalog.
By defining these properties you're also defining the shape of the Web Service interface that will automatically be created in the composite. If you switch to the composite view, you'll see your BPMN process with a wire to it from a Web Service that's generated from the interface defined in the BPMN editor. The naming convention is the BPMN process name with ".service" appended. When you deploy the BPMN process, the web service will also be deployed, since it's also part of the composite. From Enterprise Manager (EM) you can test the service and get the WSDL, which could be used by other applications (e.g. .NET) to start and interact with a process instance.
This is one of the advantages of the 11g architecture. The composite exposes services to consumers/clients. The implementation could have been BPEL, BPMN, a Mediator, Java/EJBs, or any combination working together. To the consumer, it's just a web service.
In case your next question was about security ... you won't see properties about security in the BPMN editor. You use Web Service Manager to apply security or other constraints to the web service endpoint. -
Calling OIM API from a remote system
Hi.
I have OIM 9031 server installed on a computer HostA. And I have multiple copies of the 3rd party java program installed on HostB, HostC and so on.
I need to be able to call some OIM API from that custom java program (for example, receive the list of active users from OIM server).
According to OIM documentation, I can use Remote manager to manage users on non-network awared systems.
But what if I use Remote manager for calling remote OIM API ? Is that possible?
Or are there any easier ways to achieve my goal ?The installer in the AD sync connector is provided because in addition to having the OIM API client, there is a DLL that needs to be installed and registered to capture the plaintext password. It is not necessary to have an installer, but it might be be a convenience if you are deploying to many machines.
Here is some code to get you started:
import Thor.API.tcUtilityFactory;
import com.thortech.xl.util.config.ConfigurationClient;
import java.util.Hashtable;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class TcUtilFactory {
Log log = LogFactory.getLog("OIMCLIENT.UTILITY");
private tcUtilityFactory factory = null;
private Hashtable env = null;
public TcUtilFactory() throws Exception {
// you can also set these system properties on the command line
System.setProperty("XL.HomeDir", "/opt/oimclient);
System.setProperty("java.security.policy", "config/xl.policy");
System.setProperty("log4j.configuration", "config/log.properties");
System.setProperty("java.security.auth.login.config", "config/auth.conf");
ConfigurationClient.ComplexSetting configClient = ConfigurationClient
.getComplexSettingByPath("Discovery.CoreServer");
env = configClient.getAllSettings();
try {
factory = new tcUtilityFactory(env, "xlsysadm", "xelsysadm");
} catch (Exception e) {
// handle exceptions thrown by tcUtilityFactory constructor
From here you can write whatever methods you need going against tcUtilityFactory. Also note that you will need many of the jars from your lib directory as well as the properly configured xl.config and other files in the config directory that the design console client uses (I usually just copy them from that install). Last you will need to make sure you have the required jars specific to you app server (the ones you need to copy over during the design console install) -
Enabling a User through OIM API
Hi I am trying to enable a user through OIM API, However the end date is already passed for that user, I am setting up a new end date through the Program (showm below). However the update user is not working (i am not sure).
Map usermap = new HashMap();
usermap.put("Users.User ID", User_id );
Map grpmap = new HashMap();
grpmap.put("Groups.Group Name", Group_Name);
tcResultSet ts = userClient.findUsers(usermap); //find all users
String existing_end_date = ts.getStringValue("Users.End Date");
tcResultSet tg = groupClient.findGroups(grpmap); //find requireq group
long ukey = ts.getLongValue("Users.Key");
long gkey = tg.getLongValue("Groups.Key"); //find group key
// ENABLE THE USER
java.util.Date new_end_date = new java.util.Date(111,1,1);
Calendar cal = Calendar.getInstance();
cal.setTime(new_end_date);
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String Str1 = dateFormat.format(cal.getTime());
String Str2 = existing_end_date + " 12:00:00";
System.out.println(User_id+" OLD End Date:" + Str2 + " New End Date: " + Str1);
Map usermap2 = new HashMap();
usermap2.put("Users.User ID", User_id );
usermap2.put("Users.End Date", Str1);
userClient.updateUser(ts,usermap2);
userClient.enableUser(ukey);
I am getting the following error:
U0000018 OLD End Date:2009-09-30 12:00:00 New End Date: 2011-02-01 12:00:00
2/12/2010 15:02:53 oracle.j2ee.rmi.RMIMessages EXCEPTION_ORIGINATES_FROM_THE_REMOTE_SERVER
WARNING: Exception returned by remote server: {0}
Thor.API.Exceptions.tcAPIException: The user cannot be enabled because the end date is passed.
Not sure why it is happening. It looks like the Updateuser is not working, or something else?
Please advise. Thanks in advance.Hi Suren,
thanks for the note.
I found that as soon as I enable the user, I am getting the followimg messages in the opmn logs:
INFO,06 Dec 2010 10:55:41,841,[XELLERATE.JAVACLIENT],System Event Handler: Validating Organization for an User.
INFO,06 Dec 2010 10:55:41,944,[XELLERATE.JAVACLIENT],System Event Handler: Triggering Processes related to User.
INFO,06 Dec 2010 10:55:42,402,[XELLERATE.JAVACLIENT],System Event Handler: Enabling the User
INFO,06 Dec 2010 10:55:42,421,[XELLERATE.JAVACLIENT],System Event Handler: Validating Organization for an User.
INFO,06 Dec 2010 10:55:42,427,[XELLERATE.JAVACLIENT],System Event Handler: Triggering Processes related to User.
INFO,06 Dec 2010 10:55:42,439,[XELLERATE.JAVACLIENT],System Event Handler: Changing application data based on Organization change.
INFO,06 Dec 2010 10:55:42,442,[XELLERATE.JAVACLIENT],System Event Handler: Auto-Group Membership Event.
INFO,06 Dec 2010 10:55:43,715,[XELLERATE.JAVACLIENT],System Event Handler: Evaluating User Policies
So, the access policies are getting evaluated, triggering provisioning processes.
What I am planning to do is, to disable the access policies and try to run the Program.
Because of this issue, my Program is throwing an error (until I looked into the opmn logs, it doesn't make sense).
6/12/2010 10:55:50 oracle.j2ee.rmi.RMIMessages EXCEPTION_ORIGINATES_FROM_THE_REMOTE_SERVER
WARNING: Exception returned by remote server: {0}
Thor.API.Exceptions.tcAPIException: Error occurred enabling Xellerate User instance.
Regards
Vijay Chinnasamy -
OIM API portablity issue with OIM 9.1 / Weblogic 10.3
Hi , We have a existing piece of code which does some User Mutation through OIM API.
[I am not well versed with OIM ]
The code was running fine with Weblogic 8.3 and previous OIM version.
Here is the piece of code.
logger.info("Initializing OIM Params from config location:" oimConfigFileUtil.getOIMConfigBase());+*
+ System.setProperty("XL.HomeDir", oimConfigFileUtil.getOIMConfigBase().getAbsolutePath());+
+ System.setProperty("java.security.auth.login.config", oimConfigFileUtil.getOIMAuthWLFile().getAbsolutePath());+
+ ConfigurationClient.ComplexSetting configClient = ConfigurationClient.getComplexSettingByPath("Discovery.CoreServer");+
+ env = configClient.getAllSettings();+
*+ try {+*
+ oimAccessFactory = new tcUtilityFactory(env, oimConfigFileUtil.getUserID(), oimConfigFileUtil.getPassword());+
I traced all the dependecy's for this piece of code.
If I run this with Weblogic.jar[8.1] it gives me
java.io.InvalidClassException: com.thortech.xl.dataaccess.tcDataSet; local class incompatible: stream classdesc serialVersionUID = -5446056666465114187, local class serialVersionUID = -8857647322544023100*
With the compatablity issue I substituted with weblogic.jar:10.3 , now its giving me all classpath issues.
Can someone layout the exact jars that are required for this to work?
Thanks
VigneshInstalll a Design Console. Copy any files that are required. Then take the class paths that are listed in the classpath and basecp files and put those into your application classpath files.
-Kevin -
Raising Request using OIM ApI's in oim 11g R2
Hi all
I trying to raise a request using OIM API in R2. I have written a sample code and it is throwing me the below error....
Exception in thread "main" java.lang.NullPointerException
* at oracle.iam.ui.custom.updateuser.<init>(updateuser.java:76)*
* at oracle.iam.ui.custom.updateuser.main(updateuser.java:118)*
Please take a look at my code....
RequestEntityAttribute rea = null;
rea.setName("Modify User Profile");//This is the place where i am getting the error...
System.out.println("I am Here3");
rea.setAction(RequestEntityAttribute.ACTION.Modify);
List<RequestEntityAttribute> lrea = new ArrayList<RequestEntityAttribute>();
lrea.add(rea);
RequestEntity re = null;
re.setEntityData(lrea);
List<RequestEntity> reqentity = new ArrayList<RequestEntity>();
reqentity.add(re);
RequestData requestData = null;
requestData.setJustification("I need this Role");
requestData.setTargetEntities(reqentity);
String str = null;
try {
str = _service.submitRequest(requestData);
} catch (InvalidRequestException e) {
} catch (InvalidRequestDataException e) {
} catch (RequestServiceException e) {
} catch (BulkBeneficiariesAddException e) {
} catch (BulkEntitiesAddException e) {
Thanks in Advancelook at below link
Creating a Request via OIM 11g API
http://www.pathmaker-group.com/querying-oracle-iam-requests/ -
Exposing business services as webservices
Hi All,
Im new to webservices.I have a running java web application.
I need to expose some methods as webservices.
Can it be possible to create a single ear file,using which i can access webapplication and webservice wsdl file and how
Regards,
Bhuvan.Yes, you can mix different type of J2EE artifacts in a single application. The easiest way to do this may be to use JDeveloper 10g (or the 11g Tech Preview) and to build you web service application, then add the remaining of you web application into the same project.
Hope it helps,
-Eric -
Hi All,
Do we have any OIM API to validate the challenge questions and challenge responses specifically?
I was trying to do reset password functionality using OIM API resetForgottenPassword(). But, for the first time it was resetting the password perfectly then onwards from 2nd time... it is giving an error message as mentioned below.
ERROR,13 Apr 2010 06:16:55,982,[XELLERATE.SERVER],Class/Method: tcUSR/changePasswordForSelf Error :User password cannot be changed.
ERROR,13 Apr 2010 06:16:55,984,[XELLERATE.SERVER],Class/Method: tcUnauthenticatedOperationsBean/resetForgottenPassword encounter some problems: Error occurred while resetting the password.
ERROR,13 Apr 2010 06:16:55,984,[XELLERATE.SERVER],Class/Method: tcUnauthenticatedOperationsBean/resetForgottenPassword encounter some problems: Error occurred while resetting the password.
Thor.API.Exceptions.tcAPIException: Error occurred while resetting the password.
at com.thortech.xl.ejb.beansimpl.tcUnauthenticatedOperationsBean.resetForgottenPassword(Unknown Source)
at com.thortech.xl.ejb.beans.tcUnauthenticatedOperationsSession.resetForgottenPassword(Unknown Source)
at com.thortech.xl.ejb.beans.tcUnauthenticatedOperationsSession_j7uqe_EOImpl.resetForgottenPassword(tcUnauthenticatedOperationsSession_j7uqe_EOImpl.java:77)
at com.thortech.xl.ejb.beans.tcUnauthenticatedOperationsSession_j7uqe_EOImpl_WLSkel.invoke(Unknown Source)
at weblogic.rmi.internal.ServerRequest.sendReceive(ServerRequest.java:174)
Can anybody please help me on thing. Or else please suggest any workaround for this.
Thanks in Advance.
Siva Pokuri.Try fetching the challengequestions based on the user key. Try the following code snippet if it works.
public HashMap getChallengeQuestions(final String userId) {
tcUserOperationsIntf userObj;
final HashMap responseMap = new HashMap();
final HashMap questionAnswersMap = new HashMap();
ArrayList list = null;
try {
final tcUtilityFactory utilFact = AppContext.getUtilityFactory();
userObj = (tcUserOperationsIntf) utilFact
.getUtility("Thor.API.Operations.tcUserOperationsIntf");
final HashMap map = new HashMap();
map.put("Users.User ID", userId);
final tcResultSet usrRS = userObj.findUsers(map);
long userKey = -1;
if (usrRS.getRowCount() > 0) {
userKey = usrRS.getLongValue("Users.Key");
return map;
final tcResultSet rs = userObj.getChallengeValuesForUser(userKey);
final int rowCount = rs.getRowCount();
if (rowCount > 0) {
list = new ArrayList();
for (int i = 0; i < rowCount; i++) {
rs.goToRow(i);
final String question = rs.getStringValue("Users.Password Challenge Question.Question");
final String answer = rs.getStringValue("Users.Password Challenge Question.Answer");
//try validating here with custom logic
list.add(question);
questionAnswersMap.put(question, answer);
} -
I am using OIM 9.1.0.1 as a standalone system.
i want to call OIM API to create user.
I have a created a custom JSP page.
How can i call OIM API to create user in OIM.
Thanks.{color:#000080}You can use the following to invokel OIM APIs from external WebApps:
{color} private static tcUtilityFactory _util = null;
static {
ConfigurationClient.ComplexSetting config = ConfigurationClient
.getComplexSettingByPath("Discovery.CoreServer");
try {
final Hashtable env = config.getAllSettings();
_util = new tcUtilityFactory(env, "xelsysadm", <pwd>);
} catch (Exception e) {
e.printStackTrace();
public Object getObjectReference(String qualifiedObjectName) {
return util == null ? null : (tcUtilityOperationsIntf) util
.getUtility(qualifiedObjectName);
{color:#000080}Create an instance of the above class and invoke 'getObjectReference(...)'{color}
E.g.:
tcUserOperationsInft _usrOpRef = (tcUserOperationsIntf) )new <ClassName>().getObjectReference("Thor.API.Operations.tcUserOperationsIntf");and then invoke any of the methods from user API class
{color:#000080}Hope this helps{color}
Now for creating user, all you have to do is: -
How to create a Connection to UDB Database through OIM APIs.?
Hi,
In our OIM (9.1.0.2) implementation, there is a need to connect to a UDB database to execute some select queries and get the data. Is there any way in which I can do this?
I tried creating an ITResource to have all static database related information, but I was not able to use that ITResource and create an actual database connection in the java code.
As far as possible, I don't want to use any JDBC code to create the connection but want to know if there are any inbuilt OIM APIs which can help me in creating a database connection to point to the UDB database.
(We don't have the DBUM connector deployed.)
Please get back with your views/info on this.
Thanks,
Kulesh...Here is a constructor code for connecting to a database:
public DatabaseConnection(String hostname, String port, String driver, String sid, String admin, String password) throws ClassNotFoundException, SQLException{
log.info(CLASS_NAME + " -----> inputs=hostname[" + hostname +
"]port[" + port +
"]driver[" + driver +
"]sid[" + sid +
"]admin[" + admin +
"]password[********]");
Properties connectionProps=new Properties();
connectionProps.setProperty("user", admin);
connectionProps.setProperty("password", password);
String url = "jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=" + hostname +
")(PORT=" + port +
"))(CONNECT_DATA=(SID=" + sid + ")))";
Class.forName(driver);
con = null;
con = DriverManager.getConnection(url, connectionProps);
If you want to use SSL, you will want to configure tcps for jdbc connection to the database, or any other form of connection and update your URL string for it.
-Kevin -
Creating self registration request using OIM API
Hi guys,
When we try to create a self regisrtation request using OIM API , we ge the following exception:
We get this error when we set the following in Design console.
Does user have to provide challenge information during registration = FALSE
and passed an blank object in place of challenge question parameter in createSelfRegistrationRequest method in tcUtilityBaseClass.
19:22:17,218 ERROR [REQUESTS] Error: Failed to save REQ_CONSOLIDATED_DATA_VALUE
data for Create Entity.
java.lang.NullPointerException
at org.apache.xml.serializer.TreeWalker.dispatachChars(TreeWalker.java:2
44)
at org.apache.xml.serializer.TreeWalker.startNode(TreeWalker.java:414)
at org.apache.xml.serializer.TreeWalker.traverse(TreeWalker.java:143)
at org.apache.xalan.transformer.TransformerIdentityImpl.transform(Transf
ormerIdentityImpl.java:389)
at com.thortech.xl.dataobj.util.RequestDataConsolidator.convertNodeToXML
(Unknown Source)
at com.thortech.xl.dataobj.util.RequestDataConsolidator.addUser(Unknown
Source)
at com.thortech.xl.dataobj.tcDataBase.createRequestForCreateEntity(Unkno
wn Source)
at com.thortech.xl.dataobj.tcDataBase.createRegistrationRequest(Unknown
Source)
at com.thortech.xl.dataobj.tcDataBase.createRegistrationRequest(Unknown
Source)
at com.thortech.xl.ejb.beansimpl.tcUnauthenticatedOperationsBean.createR
egistrationRequest(Unknown Source)
at com.thortech.xl.ejb.beans.tcUnauthenticatedOperationsSession.createRe
gistrationRequest(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jboss.invocation.Invocation.performCall(Invocation.java:359)
at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(S
tatelessSessionContainer.java:237)
at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invo
ke(CachedConnectionInterceptor.java:158)
at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(Stat
elessSessionInstanceInterceptor.java:169)
at org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidation
Interceptor.java:63)
at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInte
rceptor.java:121)
How do we create a self registration request , using OIM API , with and without challenge questions?Well try this piece of code. This might be similar to yours but it worked perfectly for me. For you the error might be the attribute names which you are passing, it should be the one dfined in the FormMetaData xml as below.
import Thor.API.tcUtilityFactory;
// define you class below
ConfigurationClient.ComplexSetting config = ConfigurationClient.getComplexSettingByPath("Discovery.CoreServer");
final Hashtable env = config.getAllSettings();
Hashtable quesAns = new Hashtable();
HashMap user = new HashMap();
user.put("Users.User ID", "SelfTesting");
user.put("Users.First Name", "SelfTesting");
user.put("Users.Last Name", "SelfTesting");
user.put("Users.Email", "[email protected]");
user.put("Users.Password", "SelfTesting");
user.put("ConfirmPassword", "SelfTesting");
tcUtilityFactory.createRegistrationRequest(env, user, quesAns);
And for the query of challenge QnA, these are the following combinations possible:
1) Property Does user have to provide challenge information during registration set to TRUE
- During self-registration from web console, it will show you Challenge Questions section on the right. If you do not select any questions, it will thow you an error there itself.
- Doing it from API will create no difference(even if you pass a blank HashTable). The request will be created successfully and on completion when the user tries to login, it will ask for Security QnA.
2) Property Does user have to provide challenge information during registration set to FALSE
- During self-registration from web console, it doesn't show you Challenge Questions section on the right. The request will be created successfully and on completion when the user tries to login, it will ask for Security QnA.
- Doing it from API, you will have to pass a blank HashTable as in above code. The request will be created successfully and on completion when the user tries to login, it will ask for Security QnA.
Hope it works.
Thanks
Sunny -
Hi
In my work place we are using webservices to submit the report execution .
But is there any api in webservices to cancel the submitted job in the middle of the execution .
Can any one please let me know the procedure for that.
Thanks in Advance
Have a NIce dayI'm still having difficulty with this, and any help would be appreciated!
I am getting this error:
com.bea.dsp.das.exception.DASException: com.bea.dsp.das.ws.WSClientException: Failed to encode function arguments to SOAPMessage
I have attached all the relevant files. Here are the key methods in the client code:
public List<Case> loadByCustomer(String customerId) throws Exception {
HelperContext helper = getCasesService().getHelperContext();
DataFactory factory = helper.getDataFactory();
// create the object
GetCasesRequest request = (GetCasesRequest) factory.create("http://idexx.com/ccs/casemanagement/api", "GetCasesRequest");
// don't know why we need this, or if we do, but the examples do this
SDOUtil.setElementName(request, "http://idexx.com/ccs/casemanagement/api", "GetCasesRequest");
request.setCustomerId(new BigInteger(customerId));
return retrieveCases(request);
public List<Case> retrieveCases(GetCasesRequest request) {
ArrayList<Case> result = new ArrayList<Case>();
CasesResponse cases = null;
try {
// use the CasesSDO to actually fetch the matching cases
DASResult<CasesResponse> response = getCasesService().getCases(request);
if (response.hasNext()) {
cases = response.next();
catch (Throwable e) {
logger.error("failed to retrieve domain values", e);
// convert the SDOs into business model objects and return
List<com.idexx.ccs.casemanagement.Case> dbCases = (List<com.idexx.ccs.casemanagement.Case>) cases.getCase();
for (com.idexx.ccs.casemanagement.Case dbCase : dbCases) {
Case tmp = new Case(dbCase);
result.add(tmp);
return result;
} -
Hi,
Is there a working example to expose AQ's as Webservices.
Regards
DeepakYes, you can mix different type of J2EE artifacts in a single application. The easiest way to do this may be to use JDeveloper 10g (or the 11g Tech Preview) and to build you web service application, then add the remaining of you web application into the same project.
Hope it helps,
-Eric
Maybe you are looking for
-
Forcing a page to open at an anchor
Hi, I'm new to Muse and web design in general. Is there a way, perhaps with anchors, to make a page load at certain point maybe 1/4 of the way down a page. I ask because I've used scroll effects to make the header on my home page shrink to a smaller
-
Selection background color in a custom TreeCellRenderer
I'm trying to write a custom TreeCellRender and I'm not having any luck getting the selection to work. When I click on a node (leaf or not) the color of the node does not change. If I use the default renderer instead of my custom renderer selection w
-
i'm not in the right forum but i could not find the place to put this in? or that Forum has gone missing cause of the Upgrade? I Have a few DVD Movies I Want to Burn them onto My Apple 24inch iMac Computer how do I Do it? in 2009 I Was at The Apple
-
HT1420 how do I get a list of some sort of what computers are authorized allready?
apparentally I already have five computers authorized. How do I find out which ones are?
-
How can I upload two songs I purchased this morning to my Facebook acct?
How can I upload two songs I purchased this morning to my Facebook acct? It's an Ipod Nano and I am running Windows How can I upload two songs I purchased this morning to my Facebook acct?