Skip to main content

Account Provisioning through API - OIM 11g R2

public class AccountManagement {
OIMClient client=ClientOIM.initialise();
oracle.iam.provisioning.api.ApplicationInstanceService appInstanceService=client.getService(oracle.iam.provisioning.api.ApplicationInstanceService.class);
ProvisioningService provisioningService=client.getService(ProvisioningService.class);
ClientOIM oim=new ClientOIM();
public void provisionAccount(String accName,String userID)
{
try
{
if (accName!=null && !accName.equals("") && userID!=null && !userID.equals("") )
{
ApplicationInstance appInstance=appInstanceService.findApplicationInstanceByName(accName);
long appKey=appInstance.getApplicationInstanceKey();
System.out.println("AppKey is "+appKey);
FormInfo formInfo=appInstance.getAccountForm();
String formKey=String.valueOf(formInfo.getFormKey());
System.out.println("formKey is "+formKey);
HashMap parentData=new HashMap();
/*Madatory Form Values to be passed if required
* long itResKey=appInstance.getItResourceKey();
parentData.put("UD_LDAP_USR_SERVER", itResKey);
*/
AccountData accntData=new AccountData(formKey, null, parentData);
Account accnt=new Account (appInstance, accntData);
accnt.setAccountType(Account.ACCOUNT_TYPE.Primary);
String userKey=oim.getUserKey(userID);
System.out.println("User Key is " +userKey);
provisioningService.provision(userKey, accnt);

}
}
catch(Exception e)
{
System.out.println("Exception Caught is "+e.getMessage());
e.printStackTrace();
}
}

public static void main(String[] args)
{
AccountManagement ac=new AccountManagement();
ac.provisionAccount("ACCOUNT", "USERID");

}
}

Comments

Popular posts from this blog

Developing Prepopulate Adapter with OIM 11g R2

1.      Prepopulate Adapter in OIM uses the plugin point oracle.iam.request.plugins.PrePopulationAdapte r. 2.      Write the Java code which returns the value which has to be populated on the form. 3.      This code will implement the plugin point oracle.iam.request.plugins.PrePopulationAdapte r. Code Snippet: - package com.oracle.oim.utility.eventhandler; import java.io.Serializable; import java.util.Iterator; import java.util.List; import java.util.logging.Logger; import oracle.iam.identity.exception.NoSuchUserException; import oracle.iam.identity.exception.UserLookupException; import oracle.iam.identity.usermgmt.api.UserManager; import oracle.iam.identity.usermgmt.vo.User; import oracle.iam.platform.Platform; import oracle.iam.platform.authz.exception.AccessDeniedException; import oracle.iam.request.exception.RequestServiceException; import oracle.iam.request.vo.Beneficiary; ...

Custom Login Page Protection- OAM 11g R2

Create a login page with fields having username,password and requestid. Below is the sample login page : <%@page language="java" session="true" contentType="text/html;charset=ISO-8859-1"  %> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request. getServerPort()+path+"/"; String requestID = request.getParameter("request_id"); %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <font color="blue">Login Page </font><br><br> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <title>Implementing css and javascript</title> <meta http-equi...

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...