Skip to main content

OIM Connection and Create User API - 11g R2 PS3

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

Popular posts from this blog

Adding UDF (User Defined Field) on create user page OIM 11g R2 PS1:-

    Login to Sysadmin console and create a Sandbox and activate it. Click on Form Designer and search for user form. 2.      Create a new field of desired type. 3.      Provide the Required Values for UDF creation and click save and close. UDF field will be added then publish the sand box. 4.      Login to Identity console now and create another sandbox and activate it. After sandbox is activated click on users link and the click on create user. 5.      Provide the mandatory values on the form and then click the customize button on top. Select source from the view. 6.      Select the panel where the field has to be added. Select panel form lay out click add content. Select Data component Catalog from the box. 7.      Select UserVO from the bottom. ...

OIM Tuning

Application Module tuning is a critical setting which will affect the UI performance. Following are the recommended application module settings for OIM and these are already set out-of-box (OOB) in later releases of OIM 11g R2. Ensure that these settings are implemented as recommended in your environment. -Djbo.ampool.doampooling=true -Djbo.ampool.minavailablesize=1 -Djbo.ampool.maxavailablesize=120 -Djbo.recyclethreshold=60 - Djbo.ampool.timetolive=-1 -Djbo.load.components.lazily=true - Djbo.doconnectionpooling=true -Djbo.txn.disconnect_level=1 - Djbo.connectfailover=false -Djbo.max.cursors=5 - Doracle.jdbc.implicitStatementCacheSize=5 - Doracle.jdbc.maxCachedBufferSize=19 open DOMAIN_HOME/bin/setDomainEnv.sh file for the WebLogic Server instance.find these lines: JAVA_OPTIONS="${JAVA_OPTIONS}" export JAVA_OPTIONS and change it to: JAVA_OPTIONS="-Djbo.ampool.doampooling=true -Djbo.ampool.minavailablesize=1 -Djbo.ampool.maxavailablesize=120 -D...

Oracle Traffic Director (OTD) configuration

Download the OTD software and install it on a server by running runInstaller command from <Binaries>/Disk1. Preferred is to configure the OTD as root user because when the administration server is configured as root, then Oracle Traffic Director starts the keepalived daemon automatically when you start instances that are part of a failover group, and stops the daemon when you stop the instances. Set Oracle_Home as the new Installed OTD Home. Run below command to configure the Admin server: <OTD_HOME>/otd/bin/tadm configure-server --port=8989 --user=admin --server-user=root --instance- home= <OTD_HOME> /otd/instance_name/otd_instance1 This command will ask for admin password and will create the admin server. Run Below command to start the admin server: <OTD_HOME> /otd/instance_name/otd_instance1/admin-server/bin/startserv Login to the OTD console on http://<host>:8989 as admin user.  Click New configuration: Click Next and create ne...