Pages

Friday, July 29, 2011

Developing and Deploying OIM 11G Custom Event Handlers Task

Hi

In my example I am setting the middle Name if the user doesn't provide any middle Name in the OIM Form in the CREATE Operation. Please follow steps to build the Custom Pre-Process Event Handlers in OIM 11g.

Environment Setup

The following jar files are required to compile the Custom Scheduler Task Java file. They are
1) wlfullclient.jar
2) wlclient.jar

Generating wlfullclient.jar
Go to the WL_Home/server/lib directory and Run the following command

java -jar wljarbuilder.jar

It will generate the wlfullclient.jar file and set the class path for the wlfullclient.jar and wlclient.jar file.


Develop the Java Class

package test.eventhandlers;

import java.io.Serializable;
import java.util.HashMap;

import com.thortech.util.logging.Logger;
import oracle.iam.platform.context.ContextAware;
import oracle.iam.platform.kernel.spi.PreProcessHandler;
import oracle.iam.platform.kernel.vo.AbstractGenericOrchestration;
import oracle.iam.platform.kernel.vo.BulkEventResult;
import oracle.iam.platform.kernel.vo.BulkOrchestration;
import oracle.iam.platform.kernel.vo.EventResult;
import oracle.iam.platform.kernel.vo.Orchestration;

public class NamePreProcessEventHandlers implements PreProcessHandler{

private Logger logger=Logger.getLogger("logger Handel Name");

private String methodName="";
public NamePreProcessEventHandlers()
{
debug("Invoking NamePreProcessEventHandlers");
}
@Override
public boolean cancel(long arg0, long arg1,
AbstractGenericOrchestration arg2) {
// TODO Auto-generated method stub
return false;
}

@Override
public void compensate(long arg0, long arg1,
AbstractGenericOrchestration arg2) {
// TODO Auto-generated method stub

}

// Write Your implementation.
public EventResult execute(long processId, long eventId, Orchestration orchestration) {
// TODO Auto-generated method stub


this.methodName="execute";
// this method getting the Request parameters from the OIM form
HashMap parameters=orchestration.getParameters();

debug("Parameters "+parameters);
String operation=orchestration.getOperation();
debug("Pre Process Operation "+operation);

if(operation != null && operation.equalsIgnoreCase("create"))
{
String firstName= getParamaterValue(parameters,"First Name")
if(firstName != null && !firstName.trim().isEmpty())
{
if(!parameters.containsKey("Middle Name"))
{
orchestration.addParameter("Middle Name", firstName.substring(0,1));
}
}

}
return new EventResult();
}

@Override
public BulkEventResult execute(long arg0, long arg1, BulkOrchestration arg2) {
// TODO Auto-generated method stub
return null;
}

@Override
public void initialize(HashMap arg0) {
// TODO Auto-generated method stub

}

/**
* Getting the Value from the Request Parameters
*/
private String getParamaterValue(HashMap parameters,
String key) {
String value = (parameters.get(key) instanceof ContextAware)
? (String) ((ContextAware) parameters.get(key)).getObjectValue()
: (String) parameters.get(key);
return value;
}

private void debug(String message)
{
logger.debug(this.getClass().getName()+" : "+methodName+" : "+message);
}
}
Make Jar File

Jar cvf NamePreProcessEventHandlers.jar *


Develop the Custom Event Handler Config File

<eventhandlers xmlns="http://www.oracle.com/schema/oim/platform/kernel" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.oracle.com/schema/oim/platform/kernel orchestration-handlers.xsd">
<action-handler class="test.eventhandlers.NamePreProcessEventHandlers" entity-type="User" operation="CREATE" name="NamePreProcessEventHandlers" stage="preprocess" order="FIRST" sync="TRUE"/>
</eventhandlers>


Save this file as EventHandlers.xml and the directory structure of the file is /oracle/home/eventhandlers/metadata/EventHandlers.xml.

XML Name space is very important when you deploying custom event handler in MDS Schema. If you give wrong name space in eventhandler tag and it will deploy in the OIMMetadata MDS Schema But OIM won't recognised as a Event Handler. If you give the correct Name space and it will loaded into the OIM and evaluated the preprocess in the create operation.


Develop the plugin.xml file

<oimplugins>
<plugins pluginpoint="oracle.iam.platform.kernel.spi.EventHandler">
<plugin pluginclass="test.eventhandlers.NamePreProcessEventHandlers" version="1.0" name="
NamePreProcessEventHandlers"/>
</plugins>
</oimplugins>

Making the EventHandler.zip File

plugin.xml file
lib/NamePreProcessEventHandlers.jar

Regsiter the Plugin File into the OIM Server

ant -f pluginregistration.xml register

It will ask the following details after running the above command


1) OIM Admin User Name : xelsysadm
2) OIM Admin Password : xelsysadm password
3) OIM URL : t3://localhost:14000
4) Plugin Zip File absolute path.

It will deploy the OIM Plugin without any issue. Some Times It will throw error if the class file is not found in the jar file.

Importing the Custom Event into MDS Schema

Go to the OIM_HOME/bin directory and modify the following properties in the weblogic.properties file

wls_servername=oim_server1
application_name=OIMMetadata
metadata_from_loc=/home/oracle/eventhandlers

Event Handler Config file location as /home/oracle/eventhandlers/metadata/EventHandlers.xml

Run the weblogicImportmetada.sh file and will ask the following details


1) Weblogic Admin User Name : weblogic
2) Weblogic Admin Password : weblogic admin password
3) weblogic Admin URL : t3://localhost:7001

After running the above command the custom scheduler task will be imported into the MDS Schema.

Clear the OIM Cache

Run the PurgeCache.sh All file and it will ask the following details.


1) OIM Admin User Name : xelsysadm
2) OIM Admin Password : xelsysadm password
3) OIM URL : t3://localhost:14000


After running the above command and it will clear the OIM cache

Restart the OIM Server

Go to the WL_DOMAIN_HOME/bin direcory and run stopManagedServer.sh oim_server1 command and it will stop the oim managed server.

Run the startManagedServer.sh oim_server1 and it will start the OIM Managed Server.

Testing The Event Handlers

Login to the OIM Admin Console >> Create User >> Enter First Name,Last Name, User Id, Password, Organization Name, User Type and Click Save Button. It will display the Log Message


Trouble Shooting

Problem : Event Handler Not Loaded in the OIM Server
Cause : Event Handler Name space is missing
Solution : Check the Scheduler name space in the scheduer task. The name space always xmlns="http://www.oracle.com/schema/oim/platform/kernel" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.oracle.com/schema/oim/platform/kernel orchestration-handlers.xsd"

Problem : The Event Handler implemented class file not found while deploying the plugin.zip file.
Cause : The class file is missing in the zip file.

Solution : Please add the jar file into the lib directory and make the zip file again and regsiter the plugin.


Reference Document : Oracle Identity Manager Developer Guide

58 comments:

  1. Hi,

    Thanks for your posts. I am a big fan of all the details that you provide. It is very helpful in performing these complex task :)

    i used this post to create a post-porcess even handler
    i am running a Trusted reconciliation task from a flat file.
    I am trying to set the default password of the user

    Following happens
    1. Plugin registration is successful.I can see the initialize() being called during OIM start. SOP in initialize gets printed
    2. Flat file trusted recon is successful as the user get created in OIM

    Following fails
    The event handler dosn't get triggered as the SOP messages during the execute() are not getting printed
    I see the following on the console

    <[CALLBACKMSG] Are applicable policies present for this async eventhandler ? : false>


    I have already checked and provided the schema location in both the .xml files

    I can also see the event handler in the deployment management export

    All help is appreciated

    ReplyDelete
  2. Hi

    I have also face the same issue while invoking the Web Service. The problem is, the plugin class loader was not able to load the Web Service client classes from the plugin/lib directory. For that reason you need to duplicate the web service client files into the your plugin/lib and also following directory.
    Oracle_IDM1/server/apps/oim.ear/APP-INF/lib

    Note: Use wsimport to generate your webservice client classes because OIM has product limitations such as apache axis support 1.2. Please use the OIM supported version of wsimport to generate the client classes.

    ReplyDelete
  3. Hi

    Sorry I have miss understood your SOP statements. Please use default oracle logger to print the output. Please see my blog how to enable logger in oim.

    ReplyDelete
  4. Hello,

    WE are in process of creating the random password generatpr whenever a user is getting created in 11g.

    My Doubt whether do we need to map any procss in the Event Handler Manager in the design console or the steps mentioned by you in the above blog is enough?

    Waiting for your response.

    Thanks

    ReplyDelete
    Replies
    1. HI Kichee.

      The above process is more sufficient to deploy and generate the random password in the pre-process event handler plugin.

      Delete
  5. Hi can yo help me running eventhandler on oim 11 g R1.Need assistance to setup.

    ReplyDelete
    Replies
    1. Hi Basu.

      What kind of assistance do you need to setup the event handler?

      Delete
  6. I have to generate password for reconciled users in OIM.i would like to know the code for genrate password. And it is mandatory to setup eventhandler in OIM design console?I have set the event handler code and register plugin and updated mds schema everything was successfull.But password was not getting generated.

    Guide me

    ReplyDelete
  7. where would reconcile users stored in OIM 11 g R1 ? Give me table name in database?Where would provisioned users stored ? table name?
    where could i see log for evevthandler not getting triggered?
    I ve send recon.SEND NOTIFICATION =true in OIM Administration console an still email are not getting trigged.?

    ReplyDelete
  8. Receiving error like "An error occurred while changing the user password. An unknown error occurred while sending the notification." when i try to change password in oim and check email password to the users

    ReplyDelete
  9. Hi,

    I ve created post process eventhandler for password genertion for reconciled users. But email notification is not been sent.Is ther any adapter i have to create to send notification.?

    ReplyDelete
    Replies
    1. How your sending email through code or OIM. Please let me know

      Delete
    2. Hi

      I am trying to send password through code( Java code).
      I have followed the same process mentioned by you in the post and everything went successful but emails are not getting generated.

      Delete
  10. Hi,

    Could you let me know for oracle 11 g r 1 11.1.1.7 what is the procedure to set up mail server and any thing needs to be done in OIM design console.

    ReplyDelete
  11. I have followed the same process but the middle name is not getting generated for the user. I checked the log but nothing related to this was there. Also, if EventHandlers.xml is imported to the MDS, where would it be stored? There are several EventHandlers.xml files. Where should this be checked?

    ReplyDelete
  12. HI
    Please verify the following pre-requisite while deploying the event handler. They are
    1. Please verify the following name space exists in the eventhandler.xml file:



    2. Please verify the application should be OIMMetadata in the weblogic.properties file.

    3. Please configure the logging and verify the event handler works.

    Please let me know if you have any issues and I can look into your issue.

    ReplyDelete
  13. <eventhandlers xmlns="http://www.oracle.com/schema/oim/platform/kernel" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.oracle.com/schema/oim/platform/kernel orchestration-handlers.xsd">

    ReplyDelete
  14. Should this EventHandlers.xml be imported in case of OIM 11g R2? As there are several EventHandler.xml files in the mds, doesn't it cause any conflict? The plugin was successfully registered through ant utility. How to configure the logging? Please explain.

    ReplyDelete
  15. Hi
    The event handler will be invoked based on your plugins configuration without conflict. I have blogged the logger configuration in oim. I am providing the logger configuration link as follows: http://idmoim.blogspot.com/2011/07/enabling-logging-in-oim-11g.html

    ReplyDelete
  16. Import of the EventHandler.xml should be done through importMetadata utility in OIM 11g R2. Please correct me if I'm wrong.

    ReplyDelete
  17. Hi
    Your right. Check your import path while deploying the event handler in OIM. The path suffix should be metadata/EventHandler.xml. For example Your EventHandler store location is /home/oracle/eventhandler/metadata/EventHanlder.xml and your should specify the metadata_from_loc is /home/oracle/eventhandler. Please let me know If you have any issues.

    ReplyDelete
  18. Our requirement is to save the value of selected organization to a custom attribute. I deployed the code and imported the event handler. Still I'm unable to get the value. Please suggest on this.

    ReplyDelete
  19. Hi Rathna.

    You need to add the custom attribute in the event handler orchestration.addParameter("Custom Attribute Label", );
    Please let me know more info.

    ReplyDelete
  20. This is the snippet in my code:
    public EventResult execute(long processId, long eventId,
    Orchestration orchestration) {
    System.out.println("Entered custom code");
    HashMap parameters = orchestration
    .getParameters();
    logger.debug("Inside LDAPOrg handler");
    String ldapOrgName = getParamaterValue(parameters,"Organization");
    System.out.println("This is the org selected"+ldapOrgName);
    orchestration.addParameter("LDAP Organization Name", ldapOrgName);
    return new EventResult();
    }
    Please correct if I went wrong somewhere..

    ReplyDelete
    Replies
    1. Hi Rathna.

      Sorry for the late response.
      You can add the organization as follows.
      1. Retrieve the Organization Key

      HashMap parameters= orchestration.getParameters();
      String orgId=getParamaterValue(parameters,"act_key");

      2. Retrieve the Organization name based on the org key as follows.
      OrganizationManager orgManager=Platform.getService(OrganizationManager.class);
      Organization org=orgManager.getDetails(orgId, new HashSet(), false);

      //Get the Organization Name

      String orgName=org.getAttribute("Organization Name");

      3. Adding the Organization in the Custom Attribute.

      // finally Add the Organization Name into the orchestration parameter

      orchestration.addParameter("LDAP Organization Name", orgName);


      Please let me know if you need any help.

      Delete
    2. Hi,
      HashMap interEvtDataMap = orchestration.getInterEventData();


      Set> hashSet = interEvtDataMap.entrySet();
      for(Entry entry:hashSet ) {
      LOGGER.info("Key="+entry.getKey()+", Value="+entry.getValue().toString());
      }

      Using the user key i need to fetch the user organization name and then if that orgname belongs to a desired name then update usr table udf one column.Can you please provide any code snippet if you have

      Delete
  21. Thanks for the inputs. OrganizationManager is oracle.iam.identity.orgmgmt.api.OrganizationManager and Organization is oracle.iam.identity.orgmgmt.vo.Organization. Is that correct?

    ReplyDelete
  22. the import packages are correct

    ReplyDelete
  23. Hi can you help me in building an event handler for email n SMS feature.. I am completely new to this, so if you could provide some basic links or blogs which I have to follow it would be of great help..

    ReplyDelete
  24. Hi

    Please follow the urls and you can get better idea to implement the SMS feature in OIM. They are

    1. https://blogs.oracle.com/fusionmiddleware/entry/send_notification_with_oracle_identity
    2. http://docs.oracle.com/cd/E14571_01/integration.1111/e10224/ns_java_pojo_api.htm

    ReplyDelete
  25. Hi, I am using Jdeveloper in my local machine and OIM server is in unix box can you explain me how do i deploy the event handler. I m following the steps u have provided and succesfully registered the plugin also but I m confused where to save EventHandlers.xml file please help on that..

    ReplyDelete
  26. I am facing the below error when I create an user in OIM:


    IAM-2050243 : Orchestration process with id 22306, failed with error message IAM-0080026 : Event handler {0} implemented using class/plug-in {1} could not be loaded..


    can you please help me out as soon as possible.

    ReplyDelete
  27. Hi
    Three ways you can deploy the event handlers. One is Oracle Provided Default Utilities using weblogicImportMetada.sh and your need to login to OIM server using ssh and deploy. Second one is deploying through Deployment Manager using Import Deployment Manager File lync. This option requires to modify the EventHandler.xml file. Third option is Using tcImportOperationsIntf API.

    I am providing the detailed steps to deploy the event handler in OIM. I have blogged the deployment steps in the following url http://idmoim.blogspot.com/2014/04/event-handler-handler-deployment-in-oim.html.

    Please let me know if you need any help.

    ReplyDelete
    Replies
    1. Hi, I deployed the event handler by using weblogicImportMetadata.sh
      but now I am unable to create any user in OIM whenever I try to create an user it throws me the following error:

      IAM-2050243 : Orchestration process with id 22306, failed with error message IAM-0080026 : Event handler {0} implemented using class/plug-in {1} could not be loaded..

      Can you Please help me out.

      Delete
    2. Hi Sumanth.

      Please verify the following steps to resolve the issue.

      1. Verify Plugin Zip directory structure. The structure should be
      plugin.xml
      lib/plugin.jar
      2. Verify your plugin class bundled as a jar file and its available in the plugin zip file.
      3. Verify your plugin.xml file is available in the plugin zip file.
      4. Verify your plugin class is available in the OIM data base. The table names are PLUGINS and PLUGIN_ZIP. The Plugins table contains the plugin class name and zip id. The plugin_zip contains the plugin zip file and zip ID
      5. From step 1 to 4 are correct, redeploy the plugin.zip as follows.
      5.1. Login to your OIM Server
      5.2 Go to the weblogic domain bin directory and execute the source ./setDomianEnv.sh
      For example Your domain directory is /app/Oracle/Middleware/user_projects/domains/oim/bin

      5.3 Go to the Oracle_IDM1/server/plugin_utility
      5.4 unregister the plugin as folllows
      ant -f pluginregistration.xml unregister.
      After Entering the above command the following details needs to be entered.
      [input] Enter the oim user id:
      xelsysadm
      [input]Enter the oim user password:

      [input] Enter the server url [t3://:] :
      t3://oimhost:14000
      [input] Enter class name (complete class name with package) of the plugin:
      For example the class name is test.eventhandlers.NamePreProcessEventHandlers.

      It will unregister the Plugin.

      6. Restart the OIM Server
      7. Deploy the plugin again.
      8. Restart the oim server.
      Your issue will be resolved.

      Please let me know if you need any help.

      Delete
    3. Hi thanks a lot its working now....

      Could please provide me some more links or resources which explains email n sms event handlers in the same way as this middle name event handler....

      Delete
    4. Hi,

      I am facing the same problem.But in OIM database --> PLUGINS table no data is available. Please help me out the issue.
      Thanks

      Delete
    5. Hi Aruna.

      Please can you check the plugin zip directory structure. The plugin directory structure should be wrong. For example the plugin directory structure as follows:

      plugin.xml
      lib/youreventhandler.jar file.

      For example your plugin zip directory
      c:\postprocess
      c:\postprocess\plugin.xml
      c:\postprocess\lib\eventhandler.jar

      You need the zip the plugin directory with plugin.xml and lib/eventhandler.jar file. GO to the c:\postprocess directory and make the zip file.

      Please let me know if you need any help.

      Delete
    6. Thank you so much.

      It is working now but the whole process done the OIM admin user i.e xelsysadm password has changed. Please let me know what would be the issue.
      Thanks,
      Aruna

      Delete
  28. Hi,
    I'm able to deploy custom event handler and it works. Now, the scenario is that the event has to invoke a piece of code when 'Manager' role(custom OIM role) is added to the user. I'm unable to get the added role through orchestration parameters. Please suggest..

    Thanks in advance.

    ReplyDelete
  29. Hi

    You need to define the new custom event handler entity type is roleuser. After defining the roleuser entity type and you can capture the role membership when added or removed from the role. You need to developed the new custom eventhandler code to achieve the role membership add or removed from the role.

    Please let me know if you need more info

    ReplyDelete
  30. Hi,
    I'm stuck at "can capture the role membership when added or removed from the role" as I'm unable to get the information in the orchestration parameters. Please help me in retrieving membership parameters from the orchestration.

    ReplyDelete
  31. Hi,

    I have a requirement where we need a post process event handler which would set value of samAcctName attribute from AD to userLogin attribute in OIM user profile after a PROVISIONING operation. I wanted to know if this is possible using OIM event handler since the event handlers are tied to CREATE operation in OIM & not on the target. i.e. there might be a delay in user getting created on target AD during which the event handler might have already finished since it is invoked as soon as user is created in OIM. I am using OIM 11g PS2. I read somewhere about being able to use callback but I dont have much idea about it

    ReplyDelete
  32. Hi,

    You can set the samAcctName attribute from AD to userLogin attribute as follows:
    1. Create the process task and populate the SamAccountName attribute value to user login attribute using UserManager API.
    2. Currently created task attach to create task response success event.

    Please let me know If you need more help.

    ReplyDelete
  33. Hi,
    Thx for the reply but i have a customer requirement of doing this thru event handlers because they want the samAcctName to be copied to userLogin as soon as the user is created on AD because all other resources are provisioned after AD is done. So do you think it is feasible that way? As I mentioned I heard of async event handlers but dont know how to use it & cant find anything on google too

    ReplyDelete
  34. Hi,

    I have followed the same approach to transfer the values from target resource to OIM User using the process task and my environment is 11g R1.

    ReplyDelete
    Replies
    1. If I understand it correctly then it would mean I would have to create a process task and have it executed once my Create task of AD User resource is executed.

      The fact that you have mentioned using the UserManager sounds a bit interesting because isn't the UserManage service going to trigger the event handler's which we have registered for the modify user. I may not want to have those used. Wanted to check if EntityManager service worked for you here?

      Delete
    2. Hi,

      Check the dependent resource provisioning without using Event handlers comment below:

      2. Dependant Resource Provisioning:

      Delete
  35. Hi,

    The best way to achieve dependent user provisioning as follows:

    1. First compute the User Login attribute value and transform the computed value from OIM user to AD User target form samaccountname using pre-populate adapter.

    2. Dependant Resource Provisioning:

    Use Case:

    Exchange Email provisioning required, the AD User should exists in the Active Directory.

    Solution:

    2.1 First Provision the Active Directory User.
    2.2 Provision the Exchange Email Account. For this provisioning object the following configuration needs to be done because Exchange Email Provisioning wait until AD Account provisioning completed.


    2.2.1 Open design console
    2.2.2 Open the Exchange Resource Object and attached the dependent resource object. Your dependent object resource is AD User.


    Please let me know if you need more info.

    ReplyDelete
    Replies
    1. Hi,

      Is dependent resource always one to one relation?

      Like in My case I have MSSQL Login as dependent for MSSQL User.

      I am creating MSSQL Login account first, which is a success.
      Then I am creating MSSQL User which is also a success.

      Third step I am trying again to create one more MSSQL User, which fails.

      So I want to know whether if we add as dependent resource will it allow only one instance??

      We have also checked on Allow Multiple Instance in MSSQL User Resource Object.

      Delete

  36. Error returned is: Event handler UserProfileUpdate implemented using class/plug-in com.oim.handler.user.UserProfileUpdate could not be loaded.

    Getting above error while updating user
    unregisted plugin and removed plugin zip from folder

    Please reply

    Thanks

    ReplyDelete
  37. HI
    Please can you check following checklists before deploying the event handler. They are
    1. Custom Event handler class is should be packaged with zip file.
    2. Global variables shouldn't initialize in the constructor object.
    3. Deploy the Event handler zip file
    4. Deploy the Event Handler meta data.
    5. Restart the Web Logic after deploying the event handler.

    Please let me know if you need any further assistance.

    ReplyDelete
  38. i created new handler class "ProfileUpdate" Instead of "UserProfileUpdate"
    and redeployed with steps which you mentioned above

    But still getting below exception which updating username

    Error returned is: Event handler UserProfileUpdate implemented using class/plug-in com.oim.handler.user.UserProfileUpdate could not be loaded.

    Still it is referring old handler class instead of new one.

    ReplyDelete
  39. It is working now.Actually wrong handler file placed in file folder of mds.Deleted wrong one and placed correct handler file in metadata folder.

    Thanks

    ReplyDelete
  40. Hi

    I am not understanding on Last Execution Time parameter in eBusiness HRMS Trusted Reconciliation schedule Job

    If i set Last Execution Time to 0

    Getting below error

    Caused by: oracle.iam.connectors.ebs.common.TargetOperationException: Failed to get the system date from target
    at oracle.iam.connectors.ebs.common.dao.DBUtil.getSystemDate(Unknown Source)
    ... 32 more
    Caused by: java.sql.SQLDataException: ORA-01821: date format not recognized

    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:462)
    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:405)
    at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:931)
    at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:481)
    at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:205)
    at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:548)
    at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:202)
    at oracle.jdbc.driver.T4CStatement.executeForDescribe(T4CStatement.java:942)
    at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1283)
    at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1441)
    at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:1690)
    at oracle.jdbc.driver.OracleStatementWrapper.executeQuery(OracleStatementWrapper.java:446)

    If i set Last Execution Time to 1431704363000

    No records found in logs

    Please help me

    ReplyDelete
    Replies
    1. Hi
      Sorry for the delay response.
      You need to write the recon transformation converting values from target resource to OIM while synchronizing the trusted reconciliation. The reconciliation transformation example is given in the OIM documentation as follows:

      http://docs.oracle.com/cd/E27559_01/dev.1112/e27150/icf_conn_conf.htm#OMDEV5062

      Please let me know if you need more help.

      Delete
  41. please let me know the location of created custom event handlers and adapter...after configuration

    ReplyDelete
  42. Hi,

    I have a requirement for post process event handler Using the user key i need to fetch the user organization name and then if that orgname belongs to a desired name then update user email id .Using the below snippet we could fetch the user key but could not proceed further.Do you have any suggestion !!!

    HashMap interEvtDataMap = orchestration.getInterEventData();


    Set> hashSet = interEvtDataMap.entrySet();
    for(Entry entry:hashSet ) {
    LOGGER.info("Key="+entry.getKey()+", Value="+entry.getValue().toString());
    }

    ReplyDelete