I was introduced to this method of investigating Event Handlers using Enterprise Manager by a colleague. The only other time I've seen it referenced was a quick reference in some of the OIM Developer documentation. I've found this useful when beginning the Event Handler debug process.
The basic premise of this method is to utilize Enterprise Manager to handle querying the MBean for the User and Operation. I'll walk you through how to access the functionality (the screenshots are 11gR2 PS2 but the steps are applicable to any version of OIM 11gR2). Open the Enterprise Manager that is associated with the Admin Server for your OIM domain.
In the tree view on the left, open Identity and Access -> OIM and click on oim(11.1.2.0.0). In the Oracle Identity Manager drop-down list near the center of the screen, select System MBean Browser. For clusters, open Identity and Access -> OIM and click on any of the entries that say oim(11.1.2.0.0).
The MBean Browser will open. There are three root folders: Configuration MBeans, Runtime MBeans, and Application Defined MBeans. We are concerned with the Application Defined MBeans folder so feel free to close the first two.
From here we will browse to: Application Defined MBean -> oracle.iam -> Server: (oim node) -> Application: oim -> IAMAppDesignMBean -> ConfigQueryMBeanName. For clusters, you can just select the first node. OIM replicates these changes across all of the nodes so the results will be the same.
(Note the screenshots also show OperationConfigMXBean but this may MBean not be present depending on the version of OIM that you are running this command upon.)
You will then select the Operations tab. There is one Operation, getEventHandlers, click it.
![getEventHandlers1.png b2ap3_thumbnail_getEventHandlers1.png]()
You will need to enter two parameters, p1 and p2. p1 defines which entity you want to run the Operation on, and p2 defines the Entity Operation for which you want to see Event Handlers.
In our case, p1 will be "user" and p2 will be "create".
![getEventHandlers2.png b2ap3_thumbnail_getEventHandlers2.png]()
When those are entered, click Invoke and the Operation will be performed and results will be displayed below.
![getEventHandlers3.png b2ap3_thumbnail_getEventHandlers3.png]()
(Each line has the format: Stage,Order,Name,Location,Conditional)
You can find documentation of this Operation at: http://docs.oracle.com/cd/E27559_01/dev.1112/e27150/oper.htm#BGBHJDCI
The following entities and operations are ones that are either listed in the documentation or that I've discovered to produce valid results. The parameters are NOT case-sensitive.
Entities (p1): User, Role, RoleUser, Organization, Rule
Operations (p2): create, modify, delete
Here is the generic output of a fresh instance:
Stage,Order,Name,Location,Conditional
Validation,FIRST,ChildRequestValidationHandler,/metadata/iam-features-request/event-definition/EventHandlers.xml,true
Validation,1000,CreateUserValidationHandler,/metadata/iam-features-identity/event-definition/EventHandlers.xml,false
Validation,1005,UserCommonNameValidationHandler,/db/ldapMetadata/EventHandlers.xml,false
Validation,1020,CreateUserPasswordValidationHandler,/metadata/iam-features-passwordmgmt/event-definition/EventHandlers.xml,false
Preprocess,-2147483648,GetCurrentUser,/metadata/iam-features-transUI/common/metadata/EventHandlers.xml,false
Preprocess,1000,CreateUserPreProcessHandler,/metadata/iam-features-identity/event-definition/EventHandlers.xml,false
Preprocess,1020,PostSubmissionDataActions,/metadata/iam-features-request/event-definition/EventHandlers.xml,true
Preprocess,1040,UpdateUserPasswordFields,/metadata/iam-features-transUI/EventHandlers.xml,false
Preprocess,9978,InitiateOAACGSODCheck,/metadata/iam-features-rolesod/EventHandlers.xml,true
Preprocess,9979,UpdateRequestData,/metadata/iam-features-requestactions/common/metadata/event-definition/EventHandlers.xml,true
Preprocess,9980,ApprovalInitiation,/metadata/iam-features-request/event-definition/EventHandlers.xml,true
Preprocess,9981,PostApprovalActions,/metadata/iam-features-request/event-definition/EventHandlers.xml,true
Preprocess,10020,UserCreateLDAPPreProcessHandler,/db/ldapMetadata/EventHandlers.xml,true
Preprocess,2147483647,CustomPreProcessHandler,/metadata/iam-features-identity/event-definition/EventHandlers.xml,false
Action,1000,CreateUsersActionHandler,/metadata/iam-features-identity/event-definition/EventHandlers.xml,false
Audit,1000,UserAuditHandler,/metadata/iam-features-transUI/EventHandlers.xml,false
Postprocess,-2147483648,PostProcessingInitiation,/metadata/iam-features-request/event-definition/EventHandlers.xml,true
Postprocess,1000,ReconUserLoginHandler,/metadata/iam-features-reconciliation/event-definition/EventHandlers.xml,true
Postprocess,1020,ReconUserPasswordHandler,/metadata/iam-features-reconciliation/event-definition/EventHandlers.xml,true
Postprocess,1040,ReconUserDisplayNameHandler,/metadata/iam-features-reconciliation/event-definition/EventHandlers.xml,true
Postprocess,1050,CreateUserOrgChangeCalculator,/metadata/iam-features-identity/event-definition/EventHandlers.xml,false
Postprocess,1060,CreateUserPostProcessHandler,/metadata/iam-features-identity/event-definition/EventHandlers.xml,false
Postprocess,1080,ProvisionXellerateUserResourcetoUserOrg,/metadata/iam-features-transUI/EventHandlers.xml,true
Postprocess,1100,ReconScheduledTaskUserHandler,/metadata/iam-features-reconciliation/event-definition/EventHandlers.xml,true
Postprocess,1120,UserCreateLDAPPostProcessHandler,/db/ldapMetadata/EventHandlers.xml,true
Postprocess,1140,LDAPAddMissingObjectClasses,/db/ldapMetadata/EventHandlers.xml,true
Postprocess,1160,SelfServiceNotificationHandler,/metadata/iam-features-selfservice/event-definition/EventHandlers.xml,false
Postprocess,1180,CreateUserPasswordNotificationHandler,/metadata/iam-features-passwordmgmt/event-definition/EventHandlers.xml,false
Postprocess,1230,CreateUserPostProcessActionHandler,/metadata/iam-features-identity/event-definition/EventHandlers.xml,false
Postprocess,1260,AsyncHandler,/metadata/iam-features-asyncwsclient/EventHandlers.xml,true
Postprocess,1000000,SelfServicePostHandler,/metadata/iam-features-selfservice/event-definition/EventHandlers.xml,false
Postprocess,2000000,CustomPostProcessHandler,/metadata/iam-features-identity/event-definition/EventHandlers.xml,false
Postprocess,2147483647,RequestCompleted,/metadata/iam-features-request/event-definition/EventHandlers.xml,true
Finalization,1000,CreateUserFinalizationHandler,/metadata/iam-features-identity/event-definition/EventHandlers.xml,false
Finalization,3000000,CallBackOAACGWithReject,/metadata/iam-features-rolesod/EventHandlers.xml,true
Out-of-band Handlers
action,1000,CreateUserRequestFailedHandler,/metadata/iam-features-identity/event-definition/EventHandlers.xml,false
preprocess,1000,CreateUserRequestFailedHandler,/metadata/iam-features-identity/event-definition/EventHandlers.xml,false
postprocess,1000,CreateUserRequestFailedHandler,/metadata/iam-features-identity/event-definition/EventHandlers.xml,false
action,9980,RequestFailed,/metadata/iam-features-request/event-definition/EventHandlers.xml,true
preprocess,9980,RequestFailed,/metadata/iam-features-request/event-definition/EventHandlers.xml,true
postprocess,9980,RequestFailed,/metadata/iam-features-request/event-definition/EventHandlers.xml,true
preprocess,1000000,UserPreProcessFailedHandler,/metadata/iam-features-identity/event-definition/EventHandlers.xml,false
action,1000000,UserActionFailedHandler,/metadata/iam-features-identity/event-definition/EventHandlers.xml,false
postprocess,1000000,UserPostProcessFailedHandler,/metadata/iam-features-identity/event-definition/EventHandlers.xml,false
postprocess,3000000,ReconFailedHandler,/metadata/iam-features-reconciliation/event-definition/EventHandlers.xml,false
Questions, comments or concerns? Feel free to reach out to us below, or email us at IDMWORKS to learn more about how you can protect your organization and customers.