Wednesday, June 21, 2017

OIM 11G-PS3 Thor.API.Exceptions.tcAPIException: Invalid Profile

Hello all,

  I passed thru an issue configuring my OIM Trusted reconciliation with GTC flat file and I would like to show how to fix this issue here:

First: I configured successfully my GTC connector as you can see here:





Once all my Flat File GTC Recon was configured I started running the related job, but the problem that happened was this:


[2018-06-18T13:30:16.380-07:00] [oim_server1] [WARNING] [] [XELLERATE.GC.FRAMEWORKRECONCILIATION] [tid: OIMQuartzScheduler_Worker-5] [userId: oiminternal] [ecid: 0000MG4vW9yFw000jzwkno1R91FW000004,1:18463] [APP: oim#11.1.2.0.0] Reconciliation Encountered error: [[
Thor.API.Exceptions.tcAPIException: Invalid Profile - OIMTHFLAT_GTC
at oracle.iam.reconciliation.impl.ReconOperationsServiceImpl.createReconciliationEvent(ReconOperationsServiceImpl.java:383)
at oracle.iam.reconciliation.impl.ReconOperationsServiceImpl.createReconciliationEvent(ReconOperationsServiceImpl.java:370)
at oracle.iam.reconciliation.impl.ReconOperationsServiceImpl.createReconciliationEvent(ReconOperationsServiceImpl.java:366)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)

....
Caused by: oracle.iam.reconciliation.exception.ReconciliationException: Invalid Profile - OIMTHFLAT_GTC
at oracle.iam.reconciliation.impl.ReconOperationsServiceImpl.getProfile(ReconOperationsServiceImpl.java:1507)
at oracle.iam.reconciliation.impl.ReconOperationsServiceImpl.createReconciliationEvent(ReconOperationsServiceImpl.java:349)
at oracle.iam.reconciliation.impl.ReconOperationsServiceImpl.createReconciliationEvent(ReconOperationsServiceImpl.java:381)
... 82 more
Caused by: oracle.iam.reconciliation.exception.ConfigNotFoundException: Invalid Profile - OIMTHFLAT_GTC
at oracle.iam.reconciliation.impl.config.CoreProfileManagerImpl$ProfileMarshaller.unMarshal(CoreProfileManagerImpl.java:669)
at oracle.iam.reconciliation.impl.config.CoreProfileManagerImpl$ProfileMarshaller.unMarshal(CoreProfileManagerImpl.java:652)
at oracle.iam.reconciliation.impl.config.CoreProfileManagerImpl$ProfileMarshaller.access$100(CoreProfileManagerImpl.java:602)


The main problem here is that, even if you completed successfully the flat file GTC configuration, you need to create, enable and activate your reconciliation rules, and then after that generate another profile for your GTC flat file reconciliation.


In order to do this.

STEP1: You need to go to your Design Console --> Reconciliation Rules --> Create your rule on Reconciliation Rule Builder as below:

Once you have it created, make sure you mark it as valid and active.


STEP2: Go to Design Console --> Resource Objects --> Select the RO related to your GTC Connector --> Click on Object Reconciliation tab and generate another profile(Click on Create Reconciliation Profile) --> Save it.


Once you have this created you should see something similar to this into your diagnostic logs:
  [2018-06-18T13:33:48.149-07:00] [oim_server1] [NOTIFICATION] [] [oracle.iam.reconciliation.impl.config] [tid: [ACTIVE].ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: xelsysadm] [ecid: 1479db58b6b48524:232e7d39:16404eda4b3:-8000-0000000000000782,0] [APP: oim#11.1.2.0.0] Generic Information: New profile will be created for  :: OIMTHFLAT_GTC
  [2018-06-18T13:33:48.397-07:00] [oim_server1] [NOTIFICATION] [] [oracle.iam.reconciliation.impl.config] [tid: Thread-53] [userId: <anonymous>] [ecid: 0000MG4vW9yFw000jzwkno1R91FW000004,1:18474] [APP: oim#11.1.2.0.0] Generic Information: Operation UPDATE on MetadataObject /db/OIMTHFLAT_GTC

STEP3: Now that you have your rule created and profile saved, please go to your schedule job and run it again.



STEP4: if you go to reconciliation events tab, now you should be able to see events and users created.


Now everything works as expected on your logs:

[2018-06-18T13:53:40.383-07:00] [oim_server1] [WARNING] [] [oracle.iam.platform.kernel.impl] [tid: [ACTIVE].ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: oiminternal] [ecid: 0000MG4vW9yFw000jzwkno1R91FW000004,0] [APP: oim#11.1.2.0.0] Kernel Information: Process Id 2020 name 47adcac8-9d0f-49bf-8fa3-24cf8bc49530 status:COMPLETED type:User operation:CREATE stage:FINALIZATION changetype:null retryCount:0 startStage:ACTION stopStage:POSTPROCESS stoppable:false isObjectSaved:false hasDeferredChanges:false hasChildrenFromBulk:false target:{"operation":"CREATE","sync":true,"isPostprocessingAsync":false,"isActionAuditInTransaction":true,"target":{"entityId":["5","6"],"entityType":"User"},"parameters":[{"Email":"john.doe@acme.com","Display Name":{"base":"John Doe"},"Role":"Full-Time","usr_password":"3725:2SKMWTIg5X1ERb6a+dBlTg==","act_key":1,"User Login":"TGUIMARAES","Xellerate Type":"End-User","Last Name":"Doe","usr_change_pwd_at_next_logon":"1","First Name":"John"},{"Email":"susan.joe@acme.com","Display Name":{"base":"Susan Doe"},"Role":"Full-Time","usr_password":"7415:BVIC8peXjQzh+P+cVafi8A==","act_key":1,"User Login":"SDOE","Xellerate Type":"End-User","Last Name":"Doe","usr_change_pwd_at_next_logon":"1","First Name":"Susan"}],"interEventData":{"CURRENT_USER":[null,null],"NEW_USER_STATE":[{"m_userAttrs":{"Status":"Active","Email":"john.doe@acme.com","Display Name":{"base":"John Doe"},"Role":"Full-Time","act_key":1,"User Login":"TGUIMARAES","Last Name":"Doe","Xellerate Type":"End-User","First Name":"John"},"entityId":"5"},{"m_userAttrs":{"Status":"Active","Email":"susan.joe@acme.com","Display Name":{"base":"Susan Doe"},"Role":"Full-Time","act_key":1,"User Login":"SDOE","Last Name":"Doe","Xellerate Type":"End-User","First Name":"Susan"},"entityId":"6"}]},"contextVal":"<?xml version = '1.0' encoding = 'UTF-8'?>\n<context id=\"0\" contextKey=\"1\" contextType=\"RECON\" contextSubType=\"BATCH\"><context-value name=\"profileName\" class=\"oracle.iam.platform.context.ContextAwareString\"><string-value>OIMTHFLAT_GTC</string-value></context-value><parent-context id=\"0\" contextKey=\"\" contextType=\"ADMIN\" contextSubType=\"\"><context-value name=\"TASKNAME\" class=\"oracle.iam.platform.context.ContextAwareString\"><string-value>OIMTHFLAT_GTC</string-value></context-value><context-value name=\"JOBHISTORYID\" class=\"oracle.iam.platform.context.ContextAwareNumber\"><numeric-value>54</numeric-value></context-value><context-value name=\"JOBNAME\" class=\"oracle.iam.platform.context.ContextAwareString\"><string-value>OIMTHFLAT_GTC</string-value></context-value><parent-context id=\"0\" contextKey=\"\" contextType=\"ADMIN\" contextSubType=\"\"><context-value name=\"origuser\" class=\"oracle.iam.platform.context.ContextAwareString\"><string-value>oiminternal</string-value></context-value><context-value name=\"oimuser\" class=\"oracle.iam.platform.context.ContextAwareString\"><string-value>oiminternal</string-value></context-value><context-value name=\"counter\" class=\"oracle.iam.platform.context.ContextAwareString\"><string-value>16</string-value></context-value></parent-context></parent-context></context>","valid":false} currentHandler:Id 18 name CreateUserFinalizationHandler running:false [[
Handler List:
event:Id 1 name CreateUsersActionHandler operation:CREATE class:oracle.iam.identity.usermgmt.impl.handlers.create.CreateUserActionHandler sync:true status:COMPLETED stage:ACTION order:1000 transactional:false event: handlerClass:oracle.iam.identity.usermgmt.impl.handlers.create.CreateUserActionHandler handler:oracle.iam.identity.usermgmt.impl.handlers.create.CreateUserActionHandler@77f6ca27 result:["5","6"] execTime :nullms
event:Id 2 name UserAuditHandler operation:ANY class:oracle.iam.transUI.impl.handlers.user.UserAuditHandler sync:true status:COMPLETED stage:AUDIT order:1000 transactional:false event: handlerClass:oracle.iam.transUI.impl.handlers.user.UserAuditHandler handler:oracle.iam.transUI.impl.handlers.user.UserAuditHandler@30150770 result:null execTime :133.534823ms
........
event:Id 18 name CreateUserFinalizationHandler operation:CREATE class:oracle.iam.identity.usermgmt.impl.handlers.create.CreateUserFinalizationHandler sync:true status:COMPLETED stage:FINALIZATION order:1000 transactional:false event: handlerClass:oracle.iam.identity.usermgmt.impl.handlers.create.CreateUserFinalizationHandler handler:oracle.iam.identity.usermgmt.impl.handlers.create.CreateUserFinalizationHandler@20a6f4b0 result:null execTime :0.038471ms invokeWithResult:null
]]
[2018-06-18T13:53:40.387-07:00] [oim_server1] [NOTIFICATION] [] [oracle.iam.platform.kernel.impl] [tid: [ACTIVE].ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: oiminternal] [ecid: 0000MG4vW9yFw000jzwkno1R91FW000004,0] [APP: oim#11.1.2.0.0] Kernel Information: >>>>>>> Not going to save Id 2020 name 47adcac8-9d0f-49bf-8fa3-24cf8bc49530
[2018-06-18T13:53:40.387-07:00] [oim_server1] [WARNING] [] [oracle.iam.platform.kernel.impl] [tid: [ACTIVE].ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: oiminternal] [ecid: 0000MG4vW9yFw000jzwkno1R91FW000004,0] [APP: oim#11.1.2.0.0] Kernel Information: [[
====================================
Flow for Process Id 2020 name 47adcac8-9d0f-49bf-8fa3-24cf8bc49530
Status : ACTIVE
Id 1 name CreateUsersActionHandler : COMPLETED
Id 2 name UserAuditHandler : COMPLETED
Id 3 name LwUserAuditHandler : COMPLETED
Id 4 name ReconUserLoginHandler : COMPLETED
Id 5 name ReconUserPasswordHandler : COMPLETED
Id 6 name ReconUserDisplayNameHandler : COMPLETED
Id 7 name ReconUpdateUsrPwdFields : COMPLETED
Id 8 name CreateUserPostProcessHandler : COMPLETED
Id 9 name ReconScheduledTaskUserHandler : COMPLETED
Id 10 name CreateUserOrgChangeCalculator : COMPLETED
Id 11 name SelfServiceNotificationHandler : COMPLETED
Id 12 name CreateUserPasswordNotificationHandler : COMPLETED
Id 13 name CreateUserPasswordHistoryPostProcessHandler : COMPLETED
Id 14 name CreateUserPostProcessActionHandler : COMPLETED
Id 15 name UserAdminRoleAutoGrantHandler : COMPLETED
Id 16 name SelfServicePostHandler : COMPLETED
Id 17 name CustomPostProcessHandler : COMPLETED
Id 18 name CreateUserFinalizationHandler : COMPLETED
Status : COMPLETED
====================================

As well as on your OIM User details:



I hope it helps and happy coding,
Thiago Guimaraes





No comments:

Post a Comment