OIM pre-insert event handlers
Hello
I've created a pre-insert event handler to generate a random password and email it to user manager. If reconciliation failed, the inserted record is rolled back but the event still generate and send password 3 times. Is there any solution for that?
If I divide that event in 2 parts; 1 pre-insert to generate the password and the other post-insert to send it , I will not have access to the user password!
Thanks in advance
Actually I was wrong, OIM allows access to user's password in PLAIN TEXT. Keeping in mind that it will mostly be the password for all user's resources, this is such a critical security risk.
Similar Messages
-
INFO ON Pre-Process Event Handler ,recon rules, pre insert event handler
Hi Experts
Can any one explain me theses terms what is their purpose ...recon rules -- rule is nothing but a condition or filter which is applied while reconciling user into OIM.Based on these rule either user record is created or updated in OIM which is again specified in Resource object->Action Rule
event handler--- A peace of code which get executed if certain event(Insert,Update/Modify and Delete) or action occurs in OIM. Very much similar to Database Triggers.
Now each and every Event has two stage. either Pre or Post.
Ex:
Pre-Insert-> It will be executed before something inserted in Database. for example before user creation
Post-Insert->It will be executed after something inserted in database. For example after user creation. -
Hi Folks ,
I am very new to OIM 11g , Could you please help me on below :
I have a OIM system, i want to see what all event handlers are present in OIM . Could you please tell me where can i go and look to find out the event handlers in my
OIM instance .
Thanks
POimWannaBe wrote:
Thanks i will go through the links .., just one more question :
In 11g , creating normal process task adapters /scheduled tasks , does it involve all the plugins stuff etc .., or they are like 10 g and plugins comes in to picture when we create event handlers .No, process task adapters are the same old way, just that you need to upload the jar into the db rather than copying them. Other than that everything else needs plugins atleast.
Other Ques :
Is it possible to create pre process/pre insert Event handlers in OIM 11g for trusted reconciliation . I heard somewhere that 11g doesnt support pre insert event handlers for trusted recon , is it ?Yep you heard it right, you cannot have event handlers during 11g recon pre process.
Thanks
Preeti.Edited by: Bikash Bagaria on Dec 29, 2011 10:39 PM -
OIM entity adapters vs event handlers
Hi everyone
What is the difference between running code in a pre-insert entity adapters and pre-insert event handler?
I have an adapter that generates and emails random user password but it has some undesirable actions such as running multiple times even though trusted reconciliation has failed. Are event handlers more suitable for this task?
Thanks in advanceevent handler:A resource object's provisioning process contains tasks that must be completed automatically. When this occurs, you must assign an event handler or an adapter to the resource object. An event handler is a software routine that provides the processing of this specialized information
adapter :An adapter is a specialized type of event handler that generates Java code, which enables Oracle Identity Manager to communicate and interact with external resources.
Edited by: sk on Sep 9, 2010 2:53 AM -
OIM11 event handlers: How to avoid firing the same code in both pre+post
Hi everyone,
I have a question around event handlers. My experiments so far have gleaned the following:
Manual updates of user form in admin interface -> Fires: pre-insert + Post-insert
Reconciliation trusted creates -> Fires: Post-insert
Reconciliation trusted updates -> Fires: pre-insert + Post-insert
Now I have various handlers that trigger to update fields coming in from trusted recon. Formatting telephone numbers, setting custom user attributes.. etc. I am using the same code in both the post and pre handlers as wherever the update comes from it needs to be processed in the same way. Problem is if a handler fires twice I can't be sure exactly how the system is going to behave (updating the same field again etc), never mind it is unneeded processing.
We have to keep the pre handlers because otherwise changes completed via the admin interface won't be seen until you refresh.
Can anyone please advice how to go about ensuring a handler is only fired once? i.e. if pre fires don't fire post. Have I missed something key here?
Edit: I know I've worded this badly. They will always fire as that's how OIM behaves, what I want is some way to work out in the underlying code if a field has already been modified in pre process... or something like it.
Thanks,
Wayne.
Edited by: wblacklock on 27-Feb-2012 05:38I am sorry but I am not agree with your design.
However there is no chance to avoid this according to my knowledge. As both class has separate thread under different process, so there is no way to implement thread lock on entity operation.
Alternate way to acheive your requirement:
You can have hidden UDFs. Update hidden UDFs in prepost handler with some data (hardcoded).
"You can have the value this hidden filed like :- "NAME_UPDATE|EMAIL_UPDATED|MANGER_UPDATE"
Now in Post - Process handler check the value of hidden UDF.
Get the value of hidden UDF, tokenize with String Tokenizer. Check which filed is not updated in Pre handler.
*If it is already updated - do not update.* else Update.
Thanks,
Kuldeep -
Custom Pre Process Event Handler in OIM 11g for middle initials
Hi,
I am trying to congiure a Custom Pre Process Event Handler for generating middle name in OIM 11g and I am following the steps as given in metalink ID: *1262803.1*
Even after successfully performing all the steps I am not able to get the middle initials in Admin Console when I create a new user.
1) Directory structure for the application that I have created through JDeveloper.
CustomApplication/
|-- CustomApplication.jws
`-- CustomProject
|-- CustomProject.jpr
|-- classes
| `-- com
| `-- example
| `-- custompph
| `-- CustomPreProcessEventHandler.class
`-- src
`-- com
`-- example
`-- custompph
`-- CustomPreProcessEventHandler.java
2) Directory structure for Plugins directory
My Plugin.xml :
<?xml version="1.0" encoding="UTF-8" ?>
<oimplugins>
<plugins pluginpoint="oracle.iam.platform.kernel.spi.EventHandler">
<plugin pluginclass="com.example.custompph.CustomPreProcessEventHandler"
version="1.0" name="CustomPreProcessEventHandler" />
</plugins>
</oimplugins>
plugin/
|-- lib
| `-- com
| `-- example
| `-- custompph
| `-- CustomPreProcessEventHandler.class
|-- middlename.zip
`-- plugin.xml
Copied the middlename.zip in the plugin folder in OIM_HOME and registered it successfully.
3) Created a EventHandlers file and imported it successfully using importmetadata.
My EventHandlers.xml:
<?xml version='1.0' encoding='utf-8'?>
<eventhandlers>
<!-- Custom preprocess event handlers -->
<action-handler
class="com.example.custompph.CustomPreProcessEventHandler"
entity-type="User"
operation="CREATE"
name="CustomPreProcessEventHandler"
stage="preprocess"
order="10"
sync="TRUE"/>
</eventhandlers>
I checked the logs as well but could not find something which can help me to proceed.
Also please advise is their any mapping that I need to do in *"Design Console"*
Please advise !!!!!
ThanksMy lib file contains the package as mentioned in the metalink.
Heirarchy in Plugin folder :
1) plugin.xml
2) Lib ( lib contains 3 folders : com/example/custompph; And inside custompph is my CustomPreProcessEventHandler.class file)
You mean to say i should not copy the entire package in lib but only the jar file of the CustomPreProceessEventHandler.class* file.
If i put only a .jar file in lib i get the following error.
"Error occured during the use of plugin registering utility. The plugin zip does not contain the definition of plugin class com.example.custompph.CustomPreProcessEventHandler"
Thanks
Edited by: 870050 on Jul 4, 2011 4:30 AM -
OIM 11g Pre Process event handler
Hi All,
I had built a pre process event handler to generate userid and it was working fine. But i had slight modifications in the code. When i unregistered the old event handler and registered a new one, oim was still picking the old event handler. So in order to bring the code changes into effect, i restarted the managed server after which the event handlers are not getting triggered(even the old one).
I deleted all the records corresponding to the custom event handlers from MDS_PATHS,PLUGINS,LATEST_PLUGIN AND PLUGIN_ZIP tables and registered the handler again and also imported the event handler xml file. But still the plugin is not triggered.
Please help.
Thanks,
Bhavana
Edited by: 858491 on Jul 21, 2011 5:14 AMMy lib file contains the package as mentioned in the metalink.
Heirarchy in Plugin folder :
1) plugin.xml
2) Lib ( lib contains 3 folders : com/example/custompph; And inside custompph is my CustomPreProcessEventHandler.class file)
You mean to say i should not copy the entire package in lib but only the jar file of the CustomPreProceessEventHandler.class* file.
If i put only a .jar file in lib i get the following error.
"Error occured during the use of plugin registering utility. The plugin zip does not contain the definition of plugin class com.example.custompph.CustomPreProcessEventHandler"
Thanks
Edited by: 870050 on Jul 4, 2011 4:30 AM -
OIM 11g: Event Handlers/Plugins Classpath
We have a number of custom utility libraries that we use for OIM development which are currently uploaded to the OIM database OIMHOME_JARS table.
Ideally, we'd like to reference classes from these JARs in our plugins/event handlers. During initial testing, it looks like the plugin code doesn't consider the uploaded JARs and we get a bunch of NoClassDefFoundError errors.
Is there no way to get the plugin code to be able to use the uploaded utilities? or is the solution to also deploy the utility JARs within the plugin zip file itself (not ideal).
Thanks.Not always true. In most of the cases you would find that it reads the helper jars from within the lib directory inside the plugin but in some special cases it does't behave that simple.
UploadJars definitely doesn't work. I had to put the jar in the weblogic startup script to set classpath for this to work. This script is *<domain_home\bin\setDomainEnv.cmd\>*
So its a bit dubious. -
How to Deploy the Event Handlers OIM 11g
Hi
I have developed the code for post process event handler using OIM 11 G API. The OIM not invoking the EventHandlers while updating the users attribute or creating the users attribute.
I have done the following task to develop and deploy the OIM 11g Event handlers. They are
1) Implementing the PostProcessHandler interface and provide the implementation of execute method.
Sample Class
public class SamplePostProcessEventHandler implements PostProcessHandler {
private Logger logger=Logger.getLogger("TEST-LOGGER");
public SfsuPostProcessEventHandler()
logger.debug("Invoking Event Handler Plugin");
@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
@Override
public EventResult execute(long processid, long eventid, Orchestration orchestration) {
// TODO Auto-generated method stub
logger.debug("Operation "+orchestration.getOperation());
logger.debug("Parameters "+orchestration.getInterEventData());
logger.debug("Parameters "+orchestration.getParameters());
EventResult result=new EventResult();
return result;
@Override
public BulkEventResult execute(long arg0, long arg1, BulkOrchestration arg2) {
// TODO Auto-generated method stub
return null;
@Override
public void initialize(HashMap<String, String> arg0) {
// TODO Auto-generated method stub
2) Create the Jar File SamplePostProcessEventHandler.jar
3) Create the Plugin.xml file
Sample File
<?xml version="1.0" encoding="UTF-8"?>
<oimplugins>
<plugins pluginpoint="oracle.iam.platform.kernel.spi.EventHandler">
<plugin pluginclass="test.eventhandlers.SamplePostProcessEventHandler" version="1.0" name="SamplePostProcessEventHandler">
</plugin>
</plugins>
</oimplugins>
4) Create the directory lib and copy the SamplePostProcessEventHandler.jar file into this directory
5) Creating the Zip file with the following directory structure.
plugin.xml
lib/SamplePostProcessEventHandler.jar
6) Register the plugin
ant -f pluginregistration.xml register
7) Creating the Custom Events xml file called EventHandlers.xml
<?xml version='1.0' encoding='UTF-8'?>
<eventhandlers>
<action-handler class="test.eventhandlers.SamplePostProcessEventHandler" entity-type="User" operation="CREATE" name="SamplePostProcessEventHandler" stage="postprocess" order="LAST" sync="TRUE"/>
<action-handler class="test.eventhandlers.SamplePostProcessEventHandler" entity-type="User" operation="MODIFY" name="SamplePostProcessEventHandler" stage="postprocess" order="LAST" sync="TRUE"/>
</eventhandlers>
8) Importing the Above XML into the MDS Schema Using the weblogicImportMetadata.sh file
Directory Structure of the Event Handler Schema File
/home/oracle/eventhandler/db/EventHandlers.xml
weblogic.properties file parameters
wls_servername=oim_server1
application_name=oim
metadata_from_loc=/home/oracle/eventhandler
9) Finnally Running the PurgeCache.sh All
10) Restarted the OIM Server.
11) Testing
I have logged into the OIM Admin Console >> Search the User > Update the First Name. The event handlers are not invoked any create or update operation. I am not able to see the log entries into the log file.
My Log Entry Configuration.
log File Configuration :
/u01/app/wl-10.3.5.0/Oracle/Middleware/user_projects/domains/oim_domain/config/fmwconfig/servers/oim_server1/logging.xml
<log_handler name='test-handler' level='FINEST' class='oracle.core.ojdl.logging.ODLHandlerFactory'>
<property name='logreader:' value='off'/>
<property name='path' value='/u01/app/wl-10.3.5.0/Oracle/Middleware/user_projects/domains/oim_domain/servers/oim_server1/logs/test-event.log'/>
<property name='format' value='ODL-Text'/>
<property name='useThreadName' value='true'/>
<property name='locale' value='en'/>
<property name='maxFileSize' value='5242880'/>
<property name='maxLogSize' value='52428800'/>
<property name='encoding' value='UTF-8'/>
<logger name="TEST-LOGGER" level="FINEST" useParentHandlers="false">
<handler name="test-handler"/>
<handler name="console-handler"/>
</logger>
Is there anything is missing while deploying the event handlers.
Help is Greatly appreciated.Change as per the following :
1. Put the event hander in the /home/oracle/eventhandler /metadata/metadata directory and
2. Change the following in the weblogic properties
application_name=OIMMetadata
metadata_from_loc to =/home/oracle/eventhandler/metadata
This will work. -
OIM 11.1.1.5.0 - Pre process event handler
Hi everyone, I'm trying to configure a preprocess event handler to automate email and user login when I click on "create user".
I mean when I want to create a new user, I just want to fill the first name, the last name, the organization and the type and this preprocess will fill automatically the email and the user login fields. I don't know if it's possible or not with an event handler ?
Thanks
ThibaultIf you want this event handler only for manual user creation using UI then you can go with pre-process event handler. The advantage you get is, no need of refereshment. once user created email and user login field will be visible. But in case of post process you have to refresh it manaually. Yes, you have to use post process event handler if the same field you want to populate on Trusted recon as well. Beacause, Pre- process doesn't work with Trusted recon.
Hope above will help you to decide for pre or post to use.
Now, for registering plugin. Don't put jar in the zip, you have to place .class in case of event handler. jar we use for scheduled task. place your class file like below and zip
lib/*package structure folder*/EmailLoginAuto.class
ie lib/com/test/eventhandler/EmailLoginAuto.class
for importing eventhandler.xml put it anywhere in your directory structure
ex: /tmp/db/eventhandler.xml
and update the from_location as /tmp in weblogic.properties
--nayan -
Event Handlers Invoked Everytime for update on User Profile.(OIM 11g)
Hi,
We had Custom event handlers for generating some fields on user form.
Everytime there is update on user profile on any field, All the event handlers fired, (As seen from logs).
I want to fire particular event handlers on particular update. Like if first name is updated then only display name event handler should fire. (not all)
How can i achieve this???Here is my code..it is working fine for creation of the user. but when i am updating the user i am getting all null values except the updated one.
Example if there are 5 fields in that i am updating 2 .apart from those 2 fields the other 3 are coming as null which is making validation to fail.
package flatfilevalidation;
import java.io.Serializable;
import java.util.Date;
import java.util.HashMap;
import oracle.iam.platform.context.ContextAware;
import oracle.iam.platform.kernel.ValidationException;
import oracle.iam.platform.kernel.ValidationFailedException;
import oracle.iam.platform.kernel.spi.ValidationHandler;
import oracle.iam.platform.kernel.vo.BulkOrchestration;
import oracle.iam.platform.kernel.vo.Orchestration;
import oracle.iam.identity.usermgmt.api.UserManagerConstants.AttributeName;
import Thor.API.*;
import Thor.API.Exceptions.tcAPIException;
import Thor.API.Operations.*;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import oracle.iam.identity.usermgmt.api.UserManagerConstants;
import oracle.iam.identity.usermgmt.vo.User;
import oracle.iam.passwordmgmt.utils.MLSUtils;
import oracle.iam.platform.Platform;
import oracle.iam.platform.kernel.vo.OrchestrationTarget;
import oracle.iam.upgrade.changes.jaxb.Entity;
public class FFValidation implements ValidationHandler {
int count;
tcUserOperationsIntf userOperationsService;
Entity ent = null;
@Override
public void validate(long arg0, long arg1, Orchestration orchestration)
throws ValidationException, ValidationFailedException {
System.out.println("entered the Validation methode");
HashMap<String, Serializable> parameters = orchestration.getParameters();
System.out.println("****************************************************************");
User user = getUser(orchestration);
Object passwdOrchParam = parameters.get(UserManagerConstants.AttributeName.EMPLOYEE_NUMBER.getId());
System.out.println("***************************"+passwdOrchParam+"*************************************");
System.out.println("orch.getParameters() ============================ " + parameters);
String ceo="CEO";
String trainee="Trainee";
String Emp="EMP";
String Contractor="Contractor";
//int Skypecount,Empcount,phonecount;
String Role= getParameterValue(parameters, "Role");
String Designation = getParameterValue(parameters, "Designation");
Long Manager =getManagerid(parameters, "USR_MANAGER_KEY");
Date EndDate =getDate(parameters, "End Date");
String EmpNo=getParameterValue(parameters, "Employee Number");
String skypeid=getParameterValue(parameters, "SkypeId");
String Mobile=getParameterValue(parameters, "Mobile");
String skypeidDb="usr_udf_skypeid";
String MobileDb="usr_mobile";
String EmpDB="usr_emp_no";
//validating SkypeID
uniquevalidate(skypeid,skypeidDb);
//Validating Employee Number
uniquevalidate(EmpNo,EmpDB);
//Validating Employee Number
uniquevalidate(Mobile,MobileDb);
//CEO Validation
if(Designation.equals(ceo)){
if(Manager!=null){
String msg="ManagerID not required";
System.out.println("ManagerID not required ");
throw new ValidationFailedException(msg);
//Cotractor Validation
if(Role.equals(Contractor) && Designation.equals(ceo)) {
System.out.println(Designation.equals(ceo));
String msg="Contractor Cannot be CEO";
System.out.println("Contractor Cannot be CEO");
throw new ValidationFailedException(msg);
if(Role.equals(Contractor)&& EndDate==null) {
String msg="Contractor Endate is not provided";
System.out.println("Contractor Endate is not provided");
throw new ValidationFailedException(msg);
//Trainee Validation
if(Role.equals(trainee) && Designation.equals(ceo)) {
System.out.println(Designation.equals(ceo));
if(Designation.equals(ceo)) {
String msg="Trainee Cannot be CEO";
System.out.println("Trainee Cannot be CEO");
throw new ValidationFailedException(msg);
//manager validation
if(!Designation.equals(ceo)){
if(Manager==null){
String msg="ManagerID Can not be Null";
System.out.println("ManagerID Can not be Null");
throw new ValidationFailedException(msg);
//Employee Validation
if(Role.equals(Emp)){
if(EndDate!=null) {
String msg="Employee End Date Should be empty";
System.out.println("Employee End Date Should be empty");
throw new ValidationFailedException(msg);
@Override
public void validate(long arg0, long arg1, BulkOrchestration arg2)
throws ValidationException, ValidationFailedException {
System.out.println("**************Inside BulkOrchestration****************");
HashMap<String, Serializable> parameters = arg2.getParameters();
System.out.println("orch.getParameters() ============================ " + parameters);
@Override
public void initialize(HashMap<String, String> arg0) {
private String getParameterValue(HashMap<String, Serializable> parameters,
String key) {
String value = (parameters.get(key) instanceof ContextAware) ? (String) ((ContextAware) parameters
.get(key)).getObjectValue()
: (String) parameters.get(key);
System.out.println("VALUE::" + value);
return value;
private boolean isNullOrEmpty(String str) {
return str == null || str.isEmpty();
private Long getManagerid(HashMap<String, Serializable> parameters,
String key) {
System.out.println(parameters);
Long managerLogin = (parameters.get(AttributeName.MANAGER_KEY.getId()) instanceof ContextAware)
? (Long) ((ContextAware) parameters.get(AttributeName.MANAGER_KEY.getId())).getObjectValue()
: (Long) parameters.get(AttributeName.MANAGER_KEY.getId());
System.out.println("managerLogin "+managerLogin);
return managerLogin;
private Date getDate(HashMap<String, Serializable> parameters,
String key) {
System.out.println("date "+ parameters);
Date date = (parameters.get(AttributeName.ACCOUNT_END_DATE.getId()) instanceof ContextAware)
? (Date) ((ContextAware) parameters.get(AttributeName.ACCOUNT_END_DATE.getId())).getObjectValue()
: (Date) parameters.get(AttributeName.ACCOUNT_END_DATE.getId());
System.out.println("EndDate "+date);
return date;
void uniquevalidate(String idvalue,String idDbvalue){
userOperationsService = Platform.getService(tcUserOperationsIntf.class);
HashMap<String, String> UMAttr = new HashMap<String, String>();
String msg="Entered Value is not unique" + idvalue;
System.out.println("idvalue="+ idvalue);
System.out.println("idDbvalue="+ idDbvalue);
if(idvalue!=null){
try {
System.out.println("in try block");
UMAttr.put(idDbvalue, idvalue);
tcResultSet USAttr = userOperationsService.findUsers(UMAttr);
System.out.println(USAttr);
System.out.println("User set count ========================= " + USAttr.getRowCount());
count=USAttr.getRowCount();
if(count>0)
throw new ValidationFailedException(msg);
catch (tcAPIException e) {
e.printStackTrace();
private User getUser(Orchestration orchestration)
if(orchestration.getTarget() != null && orchestration.getTarget().getEntityId() != null)
return new User(orchestration.getTarget().getEntityId());
HashMap orchParams = orchestration.getParameters();
User user = new User(null);
Set orchParamNames = orchParams.keySet();
String orchParamName;
for(Iterator i$ = orchParamNames.iterator(); i$.hasNext(); user.setAttribute(orchParamName, orchParams.get(orchParamName)))
orchParamName = (String)i$.next();
MLSUtils.setStringValuesForMLSAttributes(user);
System.out.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"+user);
return user;
} -
Some Doubts about Event Handlers
Hi,
I had some doubts on Event handlers in OIM 11.1.1.5 ........
1) I want to use the same event handler for both Post Insert and Post update task.... Can I use the same event handler for that... If yes then how can I do that....
2) Can I create the single Plugin.xml class and add the all jar files in single say lib folder and zip them all together.. if yes then What changes I need to do?? Need to add only the plugin tags for different class files in plugin.xml file? OR need to do some thing extra also...?
3) If i need to change any thing in any class of event handler.. Is there need to unregister the plugin and again register...??
If yes.... Is there need to delete the event handler using the weblogicDeleteMetadata command???
4) As we Import the event handler from path like event handler/db/... If we add all the evetn handler.xml files in that folder..... As During Import weblogicImportMetadata recursively call all the files in that folder.... Now if i need to change anything in any one of event handler class... then if we import from the same folder event handler/db/... What will it do............Create the duplicate copy of all the eventhandlers????? OR i need to add only those Eventhandler.xml files for those class files i made the changes.....
5) As I need to create email on user creation during recon and also email id get updated as first name or last name updates..... What I had to use in Event handler.xml (entity-type="User" operation="CREATE") or Some thing else....
Help me clarify my doubts...Anil Bansal wrote:
Hi,
I had some doubts on Event handlers in OIM 11.1.1.5 ........
1) I want to use the same event handler for both Post Insert and Post update task.... Can I use the same event handler for that... If yes then how can I do that....Yes, you can have the same. Just have two event handlers in the same MDS file and the operation should be CREATE for one while MODIFY for another. The class and version and name remains the same.
2) Can I create the single Plugin.xml class and add the all jar files in single say lib folder and zip them all together.. if yes then What changes I need to do?? Need to add only the plugin tags for different class files in plugin.xml file? OR need to do some thing extra also...?Yes, in the single plugin xml you can define multiple eventhandlers and the jar will contain multiple event handlers class.
3) If i need to change any thing in any class of event handler.. Is there need to unregister the plugin and again register...??
If yes.... Is there need to delete the event handler using the weblogicDeleteMetadata command???No, if you are just changing the class, then you need to update the class only in the plugin. For this, first delete plugin and then update plugin and then purgecache.
4) As we Import the event handler from path like event handler/db/... If we add all the evetn handler.xml files in that folder..... As During Import weblogicImportMetadata recursively call all the files in that folder.... Now if i need to change anything in any one of event handler class... then if we import from the same folder event handler/db/... What will it do............Create the duplicate copy of all the eventhandlers????? OR i need to add only those Eventhandler.xml files for those class files i made the changes.....If won't create duplicate copies but would overwrite the ones which are there in MDS at the same location. So effectively, if the xml is not changing you should not be worried about overwritting.
5) As I need to create email on user creation during recon and also email id get updated as first name or last name updates..... What I had to use in Event handler.xml (entity-type="User" operation="CREATE") or Some thing else....For recon and event handler, you will need to have post process event handler on User CREATE and UPDATE. On Create construct the email address and populate it in the email field. For update check if the firstname/lastname are changing and if yes, then update the email id on the profile.
>
Help me clarify my doubts... -
OIM11g - Event handlers - picking up external libraries
Hi all,
I seem to be running into an issue with event handlers. I have to refer to some other custom libraries within them and they don't seem to be accessible by the event handlers.
I've put the libraries in JavaTasks and ThirdParty but I'm still getting NoClassDef found and in the worst case the Orcherstration engine seems to break preventing me from even logging into OIM and meaning I have to remove the event handler metadata manually.
Does anyone know how the event handler classpath works and where I can put libs such that event handlers can use them?
Thanks.
Wayne.From the WebLogic Administrator screen, you can go to the servers for your OIM Server, or SOA Server, whichever will be accessing the jar. Under the server start tab, add in the path in the classpath section for your jar file. User forward slashes. Now when your server starts, it will load those jar files and they should be accessible.
-Kevin -
Hi
I have a requirement of creating a user identity in OIM 11gR2 only when few set of attributes say FirstName, MiddleName and Lastname. If this set of attributes are not exist in OIM then only we have to create the user otherwise not.
So for this purpose we are using Validation Event Handlers, So whenever i am creating a user from OIM console the validation is working but with GTC reconciliation its not working.
I have implemented both the validate(long eventID, long processID, BulkOrchestration orchestration) and validate(long eventID, long processID, Orchestration orchestration) methods under that event handler.
So is it a expected behaviour that validation event handler will not work with Recon?
Can somebody also suggest, what else we can use to satisy this requirement.
Thanks in AdvanceIn this case the values can be null also..So i dont think we can use Required attribute option.
Let me know if you have some diffrent thought on this? -
OIM11g event handlers - entity type as Role
Hi ,
I have a quick question. In OIM11g, can we have event handlers attached at role level.
When a role is created/deleted in OIM, I need to perform some operations.
Can someone suggest if its possible?? If yes, what is the entity-type I have to use. I havent seen enough documentation for the same.
Regards
Vickycheck this :
Re: OIM 11g Role Membership Event Handlers.
Maybe you are looking for
-
Flash photo gallery - loading first movie - action script
Hi, I have a movie gallery (they are basically images with a fading effect), and I got it setup, and working, but I cannot get right the action script to make the first movie load when the page opens. The only thing I get to see is the scroll bar wit
-
I recently moved and had my Comcast service transferred to my new house. Upon reinstallation of my service, I was unable to access the internet on my Macbook using Safari. I then called Comcast and the modem was reset by the tech and that in theory s
-
Set Up and Register iPod Shuffle
Each time iTunes opens, I see the same text on my screen. I cannot read all the text, because it flows off the right side on my monitor. Here's what I can read: 1. Set up your iPod Choose a name for your iPod and specify w-. Want iTunes to automatica
-
N 6300 problem: alphabetical music sorting
Hello. I have problem with N 6300 music player. (My software version is 5.50) When I select ALL TRACKS in MUSIC LIBRARY, then player every songs sorting by alphabet... for example: 1. I upload folder with tracks REM 2. I upload folder with tracks Mor
-
Use call transaction or submit statement
Hi, i have a complex transaction, it has two control programs, a Z program and a standard program. I need execute it by call transaction or submit statement. In this transaction there are some select-options that i want fill with specific values. Can