For Setting up OIM API Environment on local desktop download any IDE like Eclipse and create a Java Project.
Connect to the OIM Environment and download all the libs from OIM Server as below:
- <Oracle_IDM_Home>/designconsole/ext
- <Oracle_IDM_Home>/designconsole/lib
- <MW_home>/oracle_common/modules/oracle.jrf_11.1.1/jrf-api.jar
- <MW_home>/wlserver_10.3/server/lib/wlfullclient.jar
Attach all these jars in the Java Build Path of the project. Then write a connection code to OIM. Sample code is as below:
package com.oracle.oim;
import java.util.Hashtable;
import javax.security.auth.login.LoginException;
import oracle.iam.platform.OIMClient;
public class Connection
{
public OIMClient OimConnection()
{
oracle.iam.platform.OIMClient oimClient = null;
try
{
Hashtable<Object, Object> env = new Hashtable<Object, Object>();
env.put(OIMClient.JAVA_NAMING_FACTORY_INITIAL, "weblogic.jndi.WLInitialContextFactory");
env.put(OIMClient.JAVA_NAMING_PROVIDER_URL, "t3://<OIM_Host>:14000");
System.setProperty("java.security.auth.login.config", "C:\\Users\\<PATH>\\config\\authwl.conf");
System.setProperty("OIM.AppServerType", "wls");
System.setProperty("APPSERVER_TYPE", "wls");
oimClient = new oracle.iam.platform.OIMClient(env);
oimClient.login("xelsysadm", "PASSWORD".toCharArray());
} catch (LoginException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (Exception e)
{
e.printStackTrace();
}
System.out.print("Successfully Connected with OIM ");
return oimClient;
}
}
After OIM is connected successfully below is the sample code to create a user in PS3:
package com.oracle.oim;
import java.util.HashMap;
import oracle.iam.identity.exception.UserAlreadyExistsException;
import oracle.iam.identity.exception.UserCreateException;
import oracle.iam.identity.exception.ValidationFailedException;
import oracle.iam.identity.usermgmt.api.UserManager;
import oracle.iam.identity.usermgmt.vo.User;
import oracle.iam.platform.authz.exception.AccessDeniedException;
package com.oracle.oim;
import java.util.HashMap;
import oracle.iam.identity.exception.UserAlreadyExistsException;
import oracle.iam.identity.exception.UserCreateException;
import oracle.iam.identity.exception.ValidationFailedException;
import oracle.iam.identity.usermgmt.api.UserManager;
import oracle.iam.identity.usermgmt.vo.User;
import oracle.iam.platform.authz.exception.AccessDeniedException;
public class UserOperations {
boolean isCreated=false;
Connection connection=new Connection();
oracle.iam.platform.OIMClient oimClient=connection.OimConnection();
public boolean createUser()
{
HashMap<String, Object> userAttrMap = new HashMap<String, Object>();
userAttrMap.put("act_key", new Long(1));
userAttrMap.put("User Login", "John");
userAttrMap.put("First Name", "John");
userAttrMap.put("Last Name", "doe");
userAttrMap.put("Email", "jdoe@abc.com");
userAttrMap.put("usr_password", "Welcome1");
userAttrMap.put("Role", "OTHER");
User user = new User("John", userAttrMap);
UserManager userManager = oimClient.getService(UserManager.class);
try {
userManager.create(user);
isCreated=true;
} catch (ValidationFailedException | UserAlreadyExistsException | UserCreateException
| AccessDeniedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return isCreated;
}
public static void main(String arg[]){
UserOperations u=new UserOperations();
u.createUser();
}
}
Comments
Post a Comment