GTC incremental reconciliation task.
Hello,
In our environment its not possible to have Timestamp Date field in HRIS oracle table.
Are there any other alternative solution OOTB or customized.
Environment: OIM 9.1.0.2 , Connector pack 9.0.x
HRIS has roughly 60K users.
Thanks a lot.
For
psObjName --> Xellerate User
gives following error:
14:38:06,437 ERROR [APIS] Class/Method: tcReconciliationOperationsBean/ignoreEventData encounter some problems: No Reconciliation Fields defined
java.lang.Exception: No Reconciliation Fields defined
at com.thortech.xl.dataobj.util.tcReconciliationUtil.getORFData(Unknown Source)
at com.thortech.xl.dataobj.util.tcReconciliationUtil.ignoreEvent(Unknown Source)
at com.thortech.xl.ejb.beansimpl.tcReconciliationOperationsBean.ignoreEventData(Unknown Source)
at com.thortech.xl.ejb.beansimpl.tcReconciliationOperationsBean.ignoreEvent(Unknown Source)
at com.thortech.xl.ejb.beans.tcReconciliationOperationsSession.ignoreEvent(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jboss.invocation.Invocation.performCall(Invocation.java:359)
at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(StatelessSessionContainer.java:237)
at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:158)
at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstanceInterceptor.java:169)
at org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidationInterceptor.java:63)
at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:121)
at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:350)
at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:181)
at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:168)
at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:205)
at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:138)
at org.jboss.ejb.SessionContainer.internalInvoke(SessionContainer.java:648)
at org.jboss.ejb.Container.invoke(Container.java:960)
at sun.reflect.GeneratedMethodAccessor131.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
at org.jboss.invocation.local.LocalInvoker$MBeanServerAction.invoke(LocalInvoker.java:169)
at org.jboss.invocation.local.LocalInvoker.invoke(LocalInvoker.java:118)
at org.jboss.invocation.InvokerInterceptor.invokeLocal(InvokerInterceptor.java:209)
at org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:195)
at org.jboss.proxy.TransactionInterceptor.invoke(TransactionInterceptor.java:61)
at org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:70)
at org.jboss.proxy.ejb.StatelessSessionInterceptor.invoke(StatelessSessionInterceptor.java:112)
at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:100)
at $Proxy342.ignoreEvent(Unknown Source)
at Thor.API.Operations.tcReconciliationOperationsClient.ignoreEvent(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at Thor.API.Base.SecurityInvocationHandler$1.run(Unknown Source)
at Thor.API.Security.LoginHandler.jbossLoginSession.runAs(Unknown Source)
at Thor.API.Base.SecurityInvocationHandler.invoke(Unknown Source)
at $Proxy820.ignoreEvent(Unknown Source)
at getAllResourcesDetails.execute(getAllResourcesDetails.java:150)
at com.thortech.xl.scheduler.tasks.SchedulerBaseTask.run(Unknown Source)
at com.thortech.xl.scheduler.core.quartz.QuartzWrapper$TaskExecutionAction.run(Unknown Source)
at Thor.API.Security.LoginHandler.jbossLoginSession.runAs(Unknown Source)
at com.thortech.xl.scheduler.core.quartz.QuartzWrapper.execute(Unknown Source)
at org.quartz.core.JobRunShell.run(JobRunShell.java:203)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520)
Thanks a lot.
Similar Messages
-
Set last reconcilaition time in my custom reconciliation task
Hi everyone,
I have implemented a custom HR trusted user reconciliation task and job.
I executed this task successfully and I can get users.
I have an task attribute, name of this attribute is LastReconciliationTime.
But I could not set last reconciliation attribute in reconciliation java task.
I tried to use this:
HashMap hashmap = new HashMap();
hashmap.put("Task Scheduler.Key", String.valueOf(schedulerKey));
hashmap.put("Task Scheduler.Task Attributes.Name", "LastReconciliationTime");
But I cannot get my new custom task scheduler task key.
Because there is not my task in TSK or TSH tables.
How can I set this attribute?
Thanks.
Best Regards.Try to first search for you sch task:
hashMap.put("Task Scheduler.Name", scheduleTaskName);
tcSchOperations.findScheduleTasks(hashMap);
Get sch key from above results...getLongValue("Task Scheduler.Key")
and tcSchOperations.getScheduleTaskAttributes(taskSchedulerKey) to get sch task attributes
Iterate over task attributes by: .getStringValue("Task Scheduler.Task Attributes.Name")
and find your attr and get attr key : getLongValue("Task Scheduler.Task Attributes.Key")
Construct a update hashmap with ..put("Task Scheduler.Task Attributes.Name", your attr name);
Update sch task with : tcSchOperations .updateScheduleTaskAttribute(taskSchedulerKey, attributeKey, updateMap);
Hope this helps -
Custom HR Database Reconciliation Task
Hi everyone,
I have custom resource.
I have implemented custom reconciliation task, and I upload this.
I have implemented custom scheduler config file of this task,then uploaded this to MDS.
My task has this code :
reconService.createReconciliationEvent(resourceObject, dataMap, true);
dataMap is hashMap and have all data that I want to reconcile.
I want to use a reconciliation attribute map.
I prepared this recon lookup. I want to execute reconcilation via recon lookup.
Is there anything that I have to do?
Thanks.
Best regards.Try to first search for you sch task:
hashMap.put("Task Scheduler.Name", scheduleTaskName);
tcSchOperations.findScheduleTasks(hashMap);
Get sch key from above results...getLongValue("Task Scheduler.Key")
and tcSchOperations.getScheduleTaskAttributes(taskSchedulerKey) to get sch task attributes
Iterate over task attributes by: .getStringValue("Task Scheduler.Task Attributes.Name")
and find your attr and get attr key : getLongValue("Task Scheduler.Task Attributes.Key")
Construct a update hashmap with ..put("Task Scheduler.Task Attributes.Name", your attr name);
Update sch task with : tcSchOperations .updateScheduleTaskAttribute(taskSchedulerKey, attributeKey, updateMap);
Hope this helps -
SAP ER Incremental Reconciliation - Current Status = Data Received
Hi,
we are using SAP ER connector for SAP HR Trusted Source Reconciliation.
The Full Reconciliation works so we switched to Incremental Reconciliation.
The OIM Job named "SAP HRMS Listener" is Enabled and Active (that means OIM is listening on the TRFC Port of SAP HR system).
Issue: when the SAP admin hires an employee on SAP HR system, OIM correctly receive the transaction (this means the communication between SAP HR and OIM works as excepted) and create a new Reconciliation Event but that event remains "open" without any error and with Current Status = Data Received.
Note: no messages into weblogic_oim.log file and no errors into oim_server1-diagnostic.log.
Regards,
GabrieleHi Gabriele
Check the batch size system property. Only after the number of events reaches to that number, your recon events will be processed.
Please run the scheduled job "Non Scheduled batch recon" to process the recon events immediately.
Let me know the results.
Regards
user12841694 -
Problem with GTC flatfile Reconciliation!!!
Hi experts,
I have a CSV which is a trusted source for users. I have configured GTC as below
HRData.csv
##HRData
User ID,First Name,Last Name,Email,Organization Name, employeeType,Xellerate Type,Password
LGS12,vijaya,lakshmi,[email protected],Xellerate Users, End-User,Full-Time Employee,
LGS22,rogers,mark,[email protected],Xellerate Users, End-User,Full-Time Employee,
GTC Configuration
============
Staging Directory (Parent
identity data) : C:\HR\parent
Archiving Directory : C:\HR\archive
File Prefix : HRData
Specified Delimiter : ,
Unique attribute (Parent data) : userid
File encoding: Cp1251
Reconciliation Type: Full
I have mapped all the fields between staging & OIM (ie, made useid mandatory, other fileds as matching etc...)
In the reconciliation manager it shows record in processed data , but when i check my OIM Accounts there is not a single record.
It throws the following error when i start recon
ERROR,06 Oct 2009 23:44:19,046,[XELLERATE.SERVER],Class/Method: tcRCE/createUser
Record encounter some problems: {1}
java.lang.NullPointerException
at com.thortech.xl.dataobj.util.tcAttributeSource.getAttrColumnName(Unkn
own Source)
at com.thortech.xl.dataobj.tcRCE.createUserRecord(Unknown Source)
at com.thortech.xl.dataobj.tcRCE.applyActionRules(Unknown Source)
at com.thortech.xl.dataobj.tcRCE.checkDataSorted(Unknown Source)
at com.thortech.xl.dataobj.tcRCE.eventPostUpdate(Unknown Source)
at com.thortech.xl.dataobj.tcDataObj.update(Unknown Source)
at com.thortech.xl.dataobj.tcDataObj.save(Unknown Source)
at com.thortech.xl.dataobj.tcTableDataObj.save(Unknown Source)
at com.thortech.xl.dataobj.tcRCE.finishDataReceived(Unknown Source)
at com.thortech.xl.schedule.jms.reconOffline.ProcessOfflineReconMessages
.finishReconciliationEvent(Unknown Source)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTunin
gWorkManagerImpl.java:516)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
ERROR,06 Oct 2009 23:44:19,046,[XELLERATE.SERVER],Class/Method: tcDataObj/save E
rror :Data Update Failed
ERROR,06 Oct 2009 23:44:19,046,[XELLERATE.DATABASE],Class/Method: tcDataBase/rol
lbackTransaction encounter some problems: Rollback Executed From
java.lang.Exception: Rollback Executed From
at com.thortech.xl.dataaccess.tcDataBase.rollbackTransaction(Unknown Sou
rce)
at com.thortech.xl.dataobj.tcDataObj.rollback(Unknown Source)
at com.thortech.xl.dataobj.tcDataObj.doRollback(Unknown Source)
at com.thortech.xl.dataobj.tcDataObj.save(Unknown Source)
at com.thortech.xl.schedule.jms.reconOffline.ProcessOfflineReconMessages
.execute(Unknown Source)
at com.thortech.xl.schedule.jms.messagehandler.MessageProcessUtil.proces
sMessage(Unknown Source)
at com.thortech.xl.schedule.jms.messagehandler.ReconMessageHandlerMDB.on
Message(Unknown Source)
at weblogic.ejb.container.internal.MDListener.execute(MDListener.java:46
6)
at weblogic.ejb.container.internal.MDListener.transactionalOnMessage(MDL
istener.java:371)
at weblogic.ejb.container.internal.MDListener.onMessage(MDListener.java:
327)
at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:4547)
at weblogic.jms.client.JMSSession.execute(JMSSession.java:4233)
at weblogic.jms.client.JMSSession.executeMessage(JMSSession.java:3709)
at weblogic.jms.client.JMSSession.access$000(JMSSession.java:114)
at weblogic.jms.client.JMSSession$UseForRunnable.run(JMSSession.java:505
8)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTunin
gWorkManagerImpl.java:516)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
ERROR,06 Oct 2009 23:44:19,062,[XELLERATE.JMS],An error occurred while processin
g the off lined reconciliation events
ERROR,06 Oct 2009 23:44:19,062,[XELLERATE.JMS],Processing Reconciliation Message
with ID 42 failed.
ERROR,06 Oct 2009 23:44:25,937,[XELLERATE.SERVER],Class/Method: tcRCE/createUser
Record encounter some problems: {1}
java.lang.NullPointerException
at com.thortech.xl.dataobj.util.tcAttributeSource.getAttrColumnName(Unkn
own Source)
at com.thortech.xl.dataobj.tcRCE.createUserRecord(Unknown Source)
at com.thortech.xl.dataobj.tcRCE.applyActionRules(Unknown Source)
at com.thortech.xl.dataobj.tcRCE.checkDataSorted(Unknown Source)
at com.thortech.xl.dataobj.tcRCE.eventPostUpdate(Unknown Source)
at com.thortech.xl.dataobj.tcDataObj.update(Unknown Source)
at com.thortech.xl.dataobj.tcDataObj.save(Unknown Source)
at com.thortech.xl.dataobj.tcTableDataObj.save(Unknown Source)
at com.thortech.xl.dataobj.tcRCE.finishDataReceived(Unknown Source)
at com.thortech.xl.schedule.jms.reconOffline.ProcessOfflineReconMessages
.finishReconciliationEvent(Unknown Source)
at com.thortech.xl.schedule.jms.reconOffline.ProcessOfflineReconMessages
.execute(Unknown Source)
at com.thortech.xl.schedule.jms.messagehandler.MessageProcessUtil.proces
sMessage(Unknown Source)
at com.thortech.xl.schedule.jms.messagehandler.ReconMessageHandlerMDB.on
Message(Unknown Source)
at weblogic.ejb.container.internal.MDListener.execute(MDListener.java:46
6)
at weblogic.ejb.container.internal.MDListener.transactionalOnMessage(MDL
istener.java:371)
at weblogic.ejb.container.internal.MDListener.onMessage(MDListener.java:
327)
at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:4547)
at weblogic.jms.client.JMSSession.execute(JMSSession.java:4233)
at weblogic.jms.client.JMSSession.executeMessage(JMSSession.java:3709)
at weblogic.jms.client.JMSSession.access$000(JMSSession.java:114)
at weblogic.jms.client.JMSSession$UseForRunnable.run(JMSSession.java:505
8)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTunin
gWorkManagerImpl.java:516)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
ERROR,06 Oct 2009 23:44:25,937,[XELLERATE.SERVER],Class/Method: tcDataObj/save E
rror :Data Update Failed
ERROR,06 Oct 2009 23:44:25,937,[XELLERATE.DATABASE],Class/Method: tcDataBase/rol
lbackTransaction encounter some problems: Rollback Executed From
java.lang.Exception: Rollback Executed From
at com.thortech.xl.dataaccess.tcDataBase.rollbackTransaction(Unknown Sou
rce)
at com.thortech.xl.dataobj.tcDataObj.rollback(Unknown Source)
at com.thortech.xl.dataobj.tcDataObj.doRollback(Unknown Source)
at com.thortech.xl.dataobj.tcDataObj.save(Unknown Source)
at com.thortech.xl.dataobj.tcTableDataObj.save(Unknown Source)
at com.thortech.xl.dataobj.tcRCE.finishDataReceived(Unknown Source)
at com.thortech.xl.schedule.jms.reconOffline.ProcessOfflineReconMessages
.finishReconciliationEvent(Unknown Source)
at com.thortech.xl.schedule.jms.reconOffline.ProcessOfflineReconMessages
.execute(Unknown Source)
at com.thortech.xl.schedule.jms.messagehandler.MessageProcessUtil.proces
sMessage(Unknown Source)
at com.thortech.xl.schedule.jms.messagehandler.ReconMessageHandlerMDB.on
Message(Unknown Source)
at weblogic.ejb.container.internal.MDListener.execute(MDListener.java:46
6)
at weblogic.ejb.container.internal.MDListener.transactionalOnMessage(MDL
istener.java:371)
at weblogic.ejb.container.internal.MDListener.onMessage(MDListener.java:
327)
at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:4547)
at weblogic.jms.client.JMSSession.execute(JMSSession.java:4233)
at weblogic.jms.client.JMSSession.executeMessage(JMSSession.java:3709)
at weblogic.jms.client.JMSSession.access$000(JMSSession.java:114)
at weblogic.jms.client.JMSSession$UseForRunnable.run(JMSSession.java:505
8)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTunin
gWorkManagerImpl.java:516)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
ERROR,06 Oct 2009 23:44:25,937,[XELLERATE.JMS],An error occurred while processin
g the off lined reconciliation events
ERROR,06 Oct 2009 23:44:25,937,[XELLERATE.JMS],Processing Reconciliation Message
with ID 41 failed.
ERROR,06 Oct 2009 23:44:26,109,[XELLERATE.SERVER],Class/Method: tcRCE/createUser
Record encounter some problems: {1}
java.lang.NullPointerException
at com.thortech.xl.dataobj.util.tcAttributeSource.getAttrColumnName(Unkn
own Source)
at com.thortech.xl.dataobj.tcRCE.createUserRecord(Unknown Source)
at com.thortech.xl.dataobj.tcRCE.applyActionRules(Unknown Source)
at com.thortech.xl.dataobj.tcRCE.checkDataSorted(Unknown Source)
at com.thortech.xl.dataobj.tcRCE.eventPostUpdate(Unknown Source)
at com.thortech.xl.dataobj.tcDataObj.update(Unknown Source)
at com.thortech.xl.dataobj.tcDataObj.save(Unknown Source)
at com.thortech.xl.dataobj.tcTableDataObj.save(Unknown Source)
at com.thortech.xl.dataobj.tcRCE.finishDataReceived(Unknown Source)
at com.thortech.xl.schedule.jms.reconOffline.ProcessOfflineReconMessages
.finishReconciliationEvent(Unknown Source)
at com.thortech.xl.schedule.jms.reconOffline.ProcessOfflineReconMessages
.execute(Unknown Source)
at com.thortech.xl.schedule.jms.messagehandler.MessageProcessUtil.proces
sMessage(Unknown Source)
at com.thortech.xl.schedule.jms.messagehandler.ReconMessageHandlerMDB.on
Message(Unknown Source)
at com.thortech.xl.dataobj.tcDataObj.rollback(Unknown Source)
at com.thortech.xl.dataobj.tcDataObj.doRollback(Unknown Source)
at com.thortech.xl.dataobj.tcDataObj.save(Unknown Source)
at com.thortech.xl.dataobj.tcTableDataObj.save(Unknown Source)
at com.thortech.xl.dataobj.tcRCE.finishDataReceived(Unknown Source)
at com.thortech.xl.schedule.jms.reconOffline.ProcessOfflineReconMessages
.finishReconciliationEvent(Unknown Source)
at com.thortech.xl.schedule.jms.reconOffline.ProcessOfflineReconMessages
.execute(Unknown Source)
at com.thortech.xl.schedule.jms.messagehandler.MessageProcessUtil.proces
sMessage(Unknown Source)
at com.thortech.xl.schedule.jms.messagehandler.ReconMessageHandlerMDB.on
Message(Unknown Source)
at weblogic.ejb.container.internal.MDListener.execute(MDListener.java:46
6)
at weblogic.ejb.container.internal.MDListener.transactionalOnMessage(MDL
istener.java:371)
at weblogic.ejb.container.internal.MDListener.onMessage(MDListener.java:
327)
at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:4547)
at weblogic.jms.client.JMSSession.execute(JMSSession.java:4233)
at weblogic.jms.client.JMSSession.executeMessage(JMSSession.java:3709)
at weblogic.jms.client.JMSSession.access$000(JMSSession.java:114)
at weblogic.jms.client.JMSSession$UseForRunnable.run(JMSSession.java:505
8)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTunin
gWorkManagerImpl.java:516)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
ERROR,06 Oct 2009 23:44:26,125,[XELLERATE.JMS],An error occurred while processin
g the off lined reconciliation events
ERROR,06 Oct 2009 23:44:26,125,[XELLERATE.JMS],Processing Reconciliation Message
with ID 42 failed.
Anybody please help me in trouble shooting this problem. Now I am stuck dontknow how to solve this.
Thanks,
muraliHi HTH,
in recon manager it shows Event recieved. But when i click on create user/reapply matich rules. it throws this error. I had followed configuring GTC several times, but every time I endup with same error.
ava.lang.NullPointerException
at com.thortech.xl.dataobj.util.tcAttributeSource.getAttrColumnName(Unknown Source)
at com.thortech.xl.dataobj.tcRCE.createUserRecord(Unknown Source)
at com.thortech.xl.ejb.databeansimpl.tcRCEBean.createUserRecord(Unknown Source)
at com.thortech.xl.ejb.beans.tcRCE_4tknfu_EOImpl.createUserRecord(tcRCE_4tknfu_EOImpl.java:1034)
at com.thortech.xl.ejb.beans.tcRCE_4tknfu_EOImpl_WLSkel.invoke(Unknown Source)
at weblogic.rmi.internal.activation.ActivatableServerRef.invoke(ActivatableServerRef.java:85)
at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:477)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.security.service.SecurityManager.runAs(Unknown Source)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:473)
at weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173) -
GTC FlatFile Reconciliation in 11gR1
I have configured GTC fLatfile Trusted Recon. I some how made it work, but I still don't understand few things in it:
- What are the required ATTRIBUTES? Do we have to configure "Design Console Access" attribute?
- In OIM User data what does "Role" and "UserType " signify? As of now I have mapped them to literals "Full-Time" and "End-User" respectively.
Am I right in assuming "End-User" means a normal OIM User and "End-User Administrators" mean users who have Administratives rights inside OIM.
- What do "USR_EMP_TYPE" and "USR_TYPE" signify? I couldn't fing much information from these filed lookups. How do I know where is the "Full-Time" and "Full-Time Employee" mapping done?no User Type is different in data base it is usr_emp_type in DB where mapping User Type -> Role
Design Console Access- Xellerate Type(mapping) --- USR_TYPE(in db)
UI Label -> User Profile Mapping Attirbute -> Attribute in DB
Design Console Access -> Xellerate Type -> usr_type (Lookup.Xellerate.Type) --End-User, End-User Administrator
User Type -> Role -> usr_emp_type (Lookup.Users.Role) -- Full-Time, EMP...etc -
SAP Incremental Reconciliation error in OIM 11g r2
Hi,
we are getting below error when the time sap incremental recon running,Please help any one help.
Orch[724571:CREATE]oracle.iam.platform.kernel.EventFailedException: IAM-3051103:The create operation on user entity failed in action stage.: at oracle.iam.identity.usermgmt.utils.UserManagerUtils.createEventFailedException(UserManagerUtils.java:278) at oracle.iam.identity.usermgmt.utils.UserManagerUtils.createEventFailedException(UserManagerUtils.java:303) at oracle.iam.identity.usermgmt.impl.handlers.create.CreateUserActionHandler.execute(CreateUserActionHandler.java:182) at oracle.iam.identity.usermgmt.impl.handlers.create.CreateUserActionHandler.execute(CreateUserActionHandler.java:64) at sun.reflect.GeneratedMethodAccessor2302.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at oracle.iam.platform.kernel.impl.EventHandlerDynamicProxy$1.process(EventHandlerDynamicProxy.java:30) at oracle.iam.platform.tx.OIMTransactionCallback.doInTransaction(OIMTransactionCallback.java:13) at oracle.iam.platform.tx.OIMTransactionCallback.doInTransaction(OIMTransactionCallback.java:6) at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128) at oracle.iam.platform.tx.OIMTransactionManager.execute(OIMTransactionManager.java:22) at oracle.iam.platform.kernel.impl.EventHandlerDynamicProxy.invoke(EventHandlerDynamicProxy.java:26) at $Proxy254.execute(Unknown Source) at oracle.iam.platform.kernel.impl.OrchProcessData.runActionEvents(OrchProcessData.java:1115) at oracle.iam.platform.kernel.impl.OrchProcessData.access$500(OrchProcessData.java:84) at oracle.iam.platform.kernel.impl.OrchProcessData$8.processWithoutResult(OrchProcessData.java:719) at oracle.iam.platform.tx.OIMTransactionCallbackWithoutResult.process(OIMTransactionCallbackWithoutResult.java:9) at oracle.iam.platform.tx.OIMTransactionCallback.doInTransaction(OIMTransactionCallback.java:13) at oracle.iam.platform.tx.OIMTransactionCa
Thanks,
VenuOrch[725719:CREATE]oracle.iam.platform.kernel.EventFailedException: IAM-3051103:The create operation on user entity failed in action stage.: at oracle.iam.identity.usermgmt.utils.UserManagerUtils.createEventFailedException(UserManagerUtils.java:278) at oracle.iam.identity.usermgmt.utils.UserManagerUtils.createEventFailedException(UserManagerUtils.java:303) at oracle.iam.identity.usermgmt.impl.handlers.create.CreateUserActionHandler.execute(CreateUserActionHandler.java:182) at oracle.iam.identity.usermgmt.impl.handlers.create.CreateUserActionHandler.execute(CreateUserActionHandler.java:64) at sun.reflect.GeneratedMethodAccessor2302.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at oracle.iam.platform.kernel.impl.EventHandlerDynamicProxy$1.process(EventHandlerDynamicProxy.java:30) at oracle.iam.platform.tx.OIMTransactionCallback.doInTransaction(OIMTransactionCallback.java:13) at oracle.iam.platform.tx.OIMTransactionCallback.doInTransaction(OIMTransactionCallback.java:6) at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128) at oracle.iam.platform.tx.OIMTransactionManager.execute(OIMTransactionManager.java:22) at oracle.iam.platform.kernel.impl.EventHandlerDynamicProxy.invoke(EventHandlerDynamicProxy.java:26) at $Proxy254.execute(Unknown Source) at oracle.iam.platform.kernel.impl.OrchProcessData.runActionEvents(OrchProcessData.java:1115) at oracle.iam.platform.kernel.impl.OrchProcessData.access$500(OrchProcessData.java:84) at oracle.iam.platform.kernel.impl.OrchProcessData$8.processWithoutResult(OrchProcessData.java:719) at oracle.iam.platform.tx.OIMTransactionCallbackWithoutResult.process(OIMTransactionCallbackWithoutResult.java:9) at oracle.iam.platform.tx.OIMTransactionCallback.doInTransaction(OIMTransactionCallback.java:13) at oracle.iam.platform.tx.OIMTransactionCa
-
Hi
Can anyone tell me the difference between Reconciliation Insert Received and Reconciliation Update Received. Looks like simpe question. But i am confused.
Thanks in advance.Hi,
What i can say is that Reconciliation insert means a new entry record has been received in OIM and update means existing record has been updated in OIM
Just take an example
When user is getting created we get Reconciliation insert and when same user data comes with modification it came as update
hope it make sense ..
Other guys can give you more elaborate answer
VM
Edited by: VM02 on Jun 23, 2010 11:37 PM -
Custom Connector - Reconciliation
Hi Gurus,
I need to write a custom connector for the target. I know the steps to be followed for provisioning.
Can someone guide me how to write the reconciliation tasks in this custom connector.
My schedule task should iterate over all the records, or oim will do iterate over the records. I am confused about this.
Thanks in advance.
Regards
vickyIf you have "many" (more than 1 000 users or so) you should break up the user loading into chunks.
Take a look at this thread: Re: GTC incremental reconciliation task.
Start by breaking up the the recon into more manageable chunks of a 1000 users. In some cases you need to do leverage additional methods to stop OIM from gauging on massive amounts of user events.
Hope this helps
/Martin -
Database Applications Table (GTC): Moving fields across to resource
All,
I have a Sun Java System Directory Server resource and a Database Applications Table (GTC) connector. The Database Applications Table is a trusted source for incremental reconciliation against an Oracle database.
For simplicity's sake, assume that the table which the Database Applications Table is pointing to is called hr_feed and has the following columns:
* Table: hr_feed *
- employee_id
- first_name
- last_name
- pay_grade
Next, assume that the Sun Java System Directory Server resource has the following attributes:
* uid=<employee_id>,ou=employee,dc=mycompany,dc=com *
- uid
- givenname
- sn
- paygrade
When I created the Database Applications Table connector, I was able to map employee_id to User ID (uid), and first_name and last_name to First Name (givenname) and Last Name (sn), respectively. However, I would like to:
1) Create the Sun Java System Directory Server resource and link it to the OIM user if it does not exist
2) Pass the pay_grade attribute from the hr_feed table (via the Database Applications Table connector) through to the Sun Java System Directory Server resource
How can I perform the above actions - most importantly #2?
I notice that the Resource Object associated with the Database Applications Table connector has all the fields which I assume would be populated as each record is picked up? Do I need to associate a new Process Task Adapter with the Reconciliation Insert Received Task and grab it from there somehow?
Any assistance would be greatly appreciated :-)
Thank you,
DamianHi Nitesh,
Thanks for you reply, hopefully I'm one reply closer to solving my problem.
Any how, this is what I'm try to do.
Table in Database
Parent Table Name: Application1
Columns: Userid, eMail, Firstname, Lastname, Description, Access_Level (Description and Access_Level are custom fields)
When I provision this resource, and populate all the above details, I get an error as stated in my first post. However if I only enter Userid, Email, Firstname, Lastname then it get created in the database correctly. Is there some sort of mapping i need to do for the 'custom' attributes?
Thanks -
Hello,
we're doing trusted reconciliation from DB and it is implemented through a GTC connector (OIM 10g BP 15).
After we did a sync of OIM from prod to this environment, we're seeing issue using this related trusted recon scheduled job. Here is the error :
DEBUG,24 Jan 2012 15:09:12,321,[XELLERATE.SCHEDULER],Loading Scheduled task class com.thortech.xl.scheduler.core.quartz.QuartzWrapperusing ADP classloader
DEBUG,24 Jan 2012 15:09:12,321,[XELLERATE.ADAPTERS],Class/Method: tcADPClassLoader/getClassLoader entered.
DEBUG,24 Jan 2012 15:09:12,321,[XELLERATE.ADAPTERS],Class/Method: tcADPClassLoader/getClassLoader left.
DEBUG,24 Jan 2012 15:09:12,340,[XELLERATE.SCHEDULER],Class/Method: QuartzSchedulerImpl/getQuartzTrigger entered.
DEBUG,24 Jan 2012 15:09:12,340,[XELLERATE.SCHEDULER],Creating Custom Trigger with StartTime 2012-01-24 with repeat interval of 21600000 secs
DEBUG,24 Jan 2012 15:09:12,340,[XELLERATE.SCHEDULER],triggerFreq : CUSTOM
DEBUG,24 Jan 2012 15:09:12,340,[XELLERATE.SCHEDULER],triggerImpl : Trigger 'DEFAULT.MYMDB_GTC': triggerClass: 'org.quartz.SimpleTrigger isVolatile: false calendar: 'null' misfireInstruction: 0
DEBUG,24 Jan 2012 15:09:12,340,[XELLERATE.SCHEDULER],trigger Misfire instruction : MISFIRE_INSTRUCTION_RESCHEDULE_NEXT_WITH_EXISTING_COUNT
DEBUG,24 Jan 2012 15:09:12,340,[XELLERATE.SCHEDULER],Class/Method: QuartzSchedulerImpl/getQuartzTrigger left.
DEBUG,24 Jan 2012 15:09:12,340,[XELLERATE.SCHEDULER],MYMDB_GTC trigger is related to DEFAULT.MYMDB_GTC and new job is DEFAULT.MYMDB_GTC
DEBUG,24 Jan 2012 15:09:12,340,[XELLERATE.SCHEDULER],Scheduling task : MYMDB_GTC with trigger : Trigger 'DEFAULT.MYMDB_GTC': triggerClass: 'org.quartz.SimpleTrigger isVolatile: false calendar: 'null' misfireInstruction: 5
DEBUG,24 Jan 2012 15:09:12,392,[XELLERATE.SCHEDULER],Loading Scheduled task class com.thortech.xl.scheduler.core.quartz.QuartzWrapperusing ADP classloader
DEBUG,24 Jan 2012 15:09:12,392,[XELLERATE.ADAPTERS],Class/Method: tcADPClassLoader/getClassLoader entered.
DEBUG,24 Jan 2012 15:09:12,392,[XELLERATE.ADAPTERS],Class/Method: tcADPClassLoader/getClassLoader left.
DEBUG,24 Jan 2012 15:09:12,407,[XELLERATE.SCHEDULER],Class/Method: QuartzSchedulerImpl/updateXellerateForTrigger entered.
DEBUG,24 Jan 2012 15:09:12,407,[XELLERATE.SCHEDULER],Updating Trigger Details: lastStartTime : 2012-01-24 lastStopTime : Tue Jan 24 15:09:12 PST 2012 nextStartTime : 2012-01-24
DEBUG,24 Jan 2012 15:09:12,411,[XELLERATE.SCHEDULER],LefMethodDebug
DEBUG,24 Jan 2012 15:09:12,411,[XELLERATE.SCHEDULER],Class/Method: QuartzSchedulerImpl/updateScheduledTask left.
DEBUG,24 Jan 2012 15:09:14,035,[XELLERATE.SCHEDULER],Loading Scheduled task class com.thortech.xl.scheduler.core.quartz.QuartzWrapperusing ADP classloader
DEBUG,24 Jan 2012 15:09:14,035,[XELLERATE.ADAPTERS],Class/Method: tcADPClassLoader/getClassLoader entered.
DEBUG,24 Jan 2012 15:09:14,035,[XELLERATE.ADAPTERS],Class/Method: tcADPClassLoader/getClassLoader left.
DEBUG,24 Jan 2012 15:09:14,066,[XELLERATE.SCHEDULER],Loading Scheduled task class com.thortech.xl.scheduler.core.quartz.QuartzWrapperusing ADP classloader
DEBUG,24 Jan 2012 15:09:14,066,[XELLERATE.ADAPTERS],Class/Method: tcADPClassLoader/getClassLoader entered.
DEBUG,24 Jan 2012 15:09:14,066,[XELLERATE.ADAPTERS],Class/Method: tcADPClassLoader/getClassLoader left.
INFO,24 Jan 2012 15:09:14,093,[XELLERATE.SERVER],Quartz Executing Scheduled task : MYMDB_GTC
DEBUG,24 Jan 2012 15:09:14,099,[XELLERATE.SCHEDULER],Class/Method: SchedulerUtil/eventPreInsert entered.
DEBUG,24 Jan 2012 15:09:14,099,[XELLERATE.SCHEDULER],Class/Method: SchedulerUtil/getSchedulerInstanc left.
DEBUG,24 Jan 2012 15:09:14,175,[XELLERATE.ADAPTERS],Class/Method: tcADPClassLoader/getClassLoader entered.
DEBUG,24 Jan 2012 15:09:14,175,[XELLERATE.ADAPTERS],Class/Method: tcADPClassLoader/getClassLoader left.
Any idea what could be wrong here?
Thanks,Hello,
I tried "Edit" the GTC connector and "SAVE" the connector back without doing any editing. I hope that will not cause any difference in the deployed corresponding GTC schedule task which used to work earlier.
Anyways, i also checked the trusted source database and populated some new values in there and tried reconciling again (incremental reconciliation configured). Surprisingly i see some new error in the logs. Is this because of the unnecessary "Edit" operation i performed ?
==========================================================================================================
ERROR,31 Jan 2012 16:22:49,269,[XELLERATE.GC.FRAMEWORKRECONCILIATION],Reconciliation Encountered error:
java.lang.IllegalArgumentException: Cannot format given Object as a Date
at java.text.DateFormat.format(DateFormat.java:281)
at java.text.Format.format(Format.java:140)
at com.thortech.xl.gc.impl.common.DBFacade.getStringFromSQLObject(Unknown Source)
at com.thortech.xl.gc.impl.common.DBFacade.retrieveRecord(Unknown Source)
at com.thortech.xl.gc.impl.common.DBFacade.getRecord(Unknown Source)
at com.thortech.xl.gc.impl.common.DBFacade.getTargetRecord(Unknown Source)
at com.thortech.xl.gc.impl.recon.DBReconTransportProvider.getFirstPage(Unknown Source)
at com.thortech.xl.gc.runtime.GCScheduleTask.execute(Unknown Source)
at com.thortech.xl.scheduler.tasks.SchedulerBaseTask.run(Unknown Source)
at com.thortech.xl.scheduler.core.quartz.QuartzWrapper$TaskExecutionAction.run(Unknown Source)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
at weblogic.security.Security.runAs(Security.java:41)
at Thor.API.Security.LoginHandler.weblogicLoginSession.runAs(Unknown Source)
at com.thortech.xl.scheduler.core.quartz.QuartzWrapper.execute(Unknown Source)
at org.quartz.core.JobRunShell.run(JobRunShell.java:178)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:477)
DEBUG,31 Jan 2012 16:22:49,270,[XELLERATE.SCHEDULER.TASK],Class/Method: SchedulerBaseTask/setResult entered.
DEBUG,31 Jan 2012 16:22:49,270,[XELLERATE.SCHEDULER.TASK],Class/Method: SchedulerBaseTask/setResult left.
WARN,31 Jan 2012 16:22:49,270,[XELLERATE.GC.FRAMEWORKRECONCILIATION],Though Reconciliation Scheduled task has encountered an error, Reconciliation Transport providers have been "ended" smoothly. Any provider operation that occurs during that "end" or "clean-up" phase would have been executed e.g. Data archival. In case you want that data to be a part of next Reconciliation execution, restore it from Staging. Provider logs must be containing details about storage entities that would have been archived
DEBUG,31 Jan 2012 16:22:49,270,[XELLERATE.SCHEDULER.TASK],Class/Method: SchedulerBaseTask/run left.
======================================================================================== -
Use of Incremental Recon Attribute in SearchReconTask
I am attempting to implement Incremental Recon for a custom connector. I am using the oracle.iam.connectors.icfcommon.recon.SearchReconTask and wish to implement an Incremental Recon using the Incremental Recon Attribute. I have added that and Latest Token in the XML when I create my custom Scheduled Task with my custom attributes.
The JavaDoc for this class states:
The following task parameters are supported:
Filter - Filter to be used in SearchApiOp call
Incremental Recon Date Attribute, Incremental Recon Attribute - if the connector supports some attribute which is a good candidate for usage by incremental reconciliation, the attribute name can be specified by one of these parameters, if specified then the SearchApiOp will be executed with Filter containing GreaterThen(${IncrementalReconAttribute}, ${LatestToken}), the difference between these two paramters is that if Incremental Recon Date Attribute is specified, then Latest Token will be formatted as String
Latest Token - If Incremental Recon Date Attribute or Incremental Recon Attribute it will be holding the latest value of the attribute which is specified as incremental
When I define the connector I include the org.identityconnectors.framework.spi.operations.SearchOp interface and the executeQuery as follows:
public void executeQuery(ObjectClass oclass, Object filter,
ResultsHandler resultsHandler,
OperationOptions operationOptions) {
When I execute, the filter is always null. I have attempted this with valid values for Latest Token. I am not seeing either the Incremental Recon Attribute or the Latest Token in the OperationOptions list. Nothing is coming through in the Filter value either.
When I look at the FlatFileConnector.java class in the example, I am seeing an attempt to get a value of LatestToken (no space) which I assume is an error?? Was this tested?
Can anyone provide a real concrete example of using the SearchReconTask with Incremental Recon and explain the process flow?You will have to implement FilterTranslator as well. If you look at SearchOp at http://docs.oracle.com/cd/E21764_01/apirefs.1111/e24834/toc.htm you will see 2 methods to be implemented. One createFilterTranslator and second executeQuery.
You will have to implement FilterTranslator. ICF provides [AbstractFilterTranslator for you to use. Just extend this class and provide implementation for createGreaterThanExpression and createGreaterThanOrEqualExpression APIs.
These methods will be called for filter object. See GreaterThanFilter for more information.
Your implementation should take the attribute and construct a query in string format which your target can understand and return it. This query will sent to your executeQuery API. Without these only null will be sent.
Edited by: 855254 on Apr 19, 2013 5:24 PM
Edited by: 855254 on Apr 19, 2013 5:27 PM -
Lookup.USR_PROCESS_TRIGGERS not working with trusted reconciliation oim 11g
Hi,
I am facing one issue while running the trusted incremental reconciliation in OIM 11g.
In the bulkEvent of the event handler I am checking if the operation is MODIFY then I am comparing some attributes and based of that result I am performing some action.
Now the issue is that if the first name or last name of the users gets changed in OIM due to trusted reconciliation then the Change First Name or Change Last Name Process task should get execute on the resources provisioned to the user. This is not happening in my case.
I tried modifying the first name of the user via UI and then the Change First Name Process task got executed.
Please let me know if I need to do some thing extra to get this working.
ThanksHi,
Try creating a custom adapter and attach the adapter to the process task which you have created. This adapter should read the user profile value and populate in the AD provisioning form. Then test the flow for one attribute. As I am suspecting that there would be an issue with OOTB adapter.
Regards
Sai -
Problem performing flat file reconciliation in 11gR2
Hello,
In R1, I had configured a simple GTC flat file connector that worked well. I've now updated to R2 (well actually, I've done a clean install), recreated the same connector configuration and tested with a text file that worked in R1, but this time, it doesn't work. I've added the following lines in my oim server logs config to have a better idea of what's going on :
<logger name="oracle.iam.identity.scheduledtasks"/>
<logger name="oracle.iam.scheduler"/>
<logger name="oracle.iam.platform.scheduler"/>
<logger name="Xellerate.Scheduler"/>
<logger name="Xellerate.Scheduler.Task"/>
<logger name="oracle.iam.reconciliation"/>
However, the problem seems to happen before any reconciliation task is executed because I don't see any information about the data being read from the file. Here are the errors I'm getting :
oracle.iam.reconciliation.exception.ReconciliationException: Invalid Profile - GTCCSVTEST1_GTC
at oracle.iam.reconciliation.impl.ReconOperationsServiceImpl.getProfile(ReconOperationsServiceImpl.java:2121)
at oracle.iam.reconciliation.impl.ReconOperationsServiceImpl.ignoreEvent(ReconOperationsServiceImpl.java:544)
at oracle.iam.reconciliation.impl.ReconOperationsServiceImpl.ignoreEvent(ReconOperationsServiceImpl.java:535)
Caused by: oracle.iam.reconciliation.exception.ConfigNotFoundException: Invalid Profile - GTCCSVTEST1_GTC
at oracle.iam.reconciliation.impl.config.CoreProfileManagerImpl$ProfileMarshaller.unMarshal(CoreProfileManagerImpl.java:521)
at oracle.iam.reconciliation.impl.config.CoreProfileManagerImpl$ProfileMarshaller.unMarshal(CoreProfileManagerImpl.java:504)
[org.xml.sax.SAXParseException: cvc-minLength-valid: Value '' with length = '0' is not facet-valid with respect to minLength '1' for type 'matchingRuleType'.]
at javax.xml.bind.helpers.AbstractUnmarshallerImpl.createUnmarshalException(AbstractUnmarshallerImpl.java:315)
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.createUnmarshalException(UnmarshallerImpl.java:522)
Caused by: org.xml.sax.SAXParseException: cvc-minLength-valid: Value '' with length = '0' is not facet-valid with respect to minLength '1' for type 'matchingRuleType'.
at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
at org.apache.xerces.util.ErrorHandlerWrapper.error(Unknown Source)
It looks like something is wrong with my reconciliation profile, so I've gone to the Design Console and created a default reconciliation profile for my GTCCSVTEST1_GTC Resource Object, but it did not help.
Any ideas?
Thanks,
--jtellierThat's it. I've just learned that a Reconciliation Rule is created automatically when a field is set as "Matching Only" when configuring the connector. I had such a field in the initial configuration, but skipped this step when configuring the connector in R2.
Thanks,
--jtellier -
How to Deploy the Scheduler Task OIM 11g
Hi.
I have deployed the scheduler task in OIM 11g and also I have configured the Scheduler task in OIM Admin Console. The Java Scheduler class was not invoked when I run the Scheduler task.
I have done the following configuration to develop and deploy the scheduler task in OIM.
1) Developing the Java Class File.
package edu.sfsu.oim11g.scheduler;
import java.util.HashMap;
import oracle.iam.scheduler.vo.TaskSupport;
import edu.sfsu.oim11g.logger.SfsuLogger;
public class SfsuTrustedSourceReconciliation extends TaskSupport {
//private Logger logger= Logger.getLogger(SfsuTrustedSourceReconciliation.class);
private SfsuLogger logger= new SfsuLogger("SFSU-LOGGER");
private String className=this.getClass().getCanonicalName();
private String methodName="";
public SfsuTrustedSourceReconciliation() {
methodName="SfsuTrustedSourceReconciliation";
debug("SfsuTrustedSourceReconciliation() Called");
@Override
public void execute(HashMap arg0) throws Exception {
// TODO Auto-generated method stub
methodName="execute";
debug("SfsuTrustedSourceReconciliation Arguments "+arg0);
@Override
public HashMap getAttributes() {
// TODO Auto-generated method stub
return null;
@Override
public void setAttributes() {
// TODO Auto-generated method stub
private void debug(Object message)
logger.info(className+" : "+methodName+" : "+message);
2) Custom Scheduler XML File
This file is located in
/home/oracle/confg_files/schedulers/db/SfsuTrustedSourceReconciliation.xml
<scheduledTasks xmlns="http://xmlns.oracle.com/oim/scheduler">
<task>
<name>SfsuTrustedSourceReconciliation</name>
<class>edu.sfsu.oim11g.scheduler.SfsuTrustedSourceReconciliation</class>
<description>Reconciliation IDSync Data</description>
<retry>5</retry>
<parameters>
<string-param required="true" encrypted="false" helpText="Source Data Source">Source Resource Data Source Name</string-param>
<string-param required="true" encrypted="false" helpText="Config Data Source">Config Resource Data Source Name</string-param>
<string-param required="true" encrypted="false" helpText="Reconciliation Type is Full Or Cincremental. Default is Incremental">Reconciliation Type</string-param>
<number-param required="true" encrypted="false" helpText="Max Records" >Max Records</number-param>
</parameters>
</task>
</scheduledTasks>
3) Plugin File Configuration.
<?xml version="1.0" encoding="UTF-8"?>
<oimplugins>
<plugins pluginpoint="oracle.iam.platform.kernel.spi.EventHandler">
<plugin pluginclass="edu.sfsu.oim11g.eventhandlers.SfsuPostProcessEventHandler" version="1.0" name="SfsuPostprocessExtension"/>
</plugins>
<plugins pluginpoint="oracle.iam.scheduler.vo.TaskSupport">
<plugin pluginclass="edu.sfsu.oim11g.scheduler.SfsuTrustedSourceReconciliation" version="1.0" name="SfsuTrustedSourceReconciliation"/>
</plugins>
</oimplugins>
The event handler is successfully deployed and working fine without any issue.
4) making the scheduler jar file.
5) Making the scheduler zip with the following directory format.
plugin.xml
lib/scheduler.jar
6) Registering the Schedule task and event handler as a Plugin.
ant -f pluginregistration.xml register
7) Importing the SfsuTrustedSourceReconciliation.xml file into the MDS.
7.1) weblogic.properties
wls_servername=oim_server1
application_name=oim
metadata_from_loc=/home/oracle/configfiles/schedulers
7.2) Running the weblogicImportMetadata.sh file
It imported the SfsuTrustedSourceReconciliation.xml file into the MDS Schema and it is available in the MDS_PATH table in MDS schema
Path_Name : SfsuTrustedSourceReconciliation.xml
PATH_FULL : /db/SfsuTrustedSourceReconciliation.xml
8) Imported the EventHandlers.xml file into the MDS Schema.
9) Run the PurgeCache.sh file
10) Restarted the OIM Server.
11) Loggin into the OIM Admin Console and Created the Scheduler job based on the SfsuTrustedSourceReconciliation listed in the scheduler.
12) Run the Scheduler job and log file entries are not logged into the log file. My Log File Configuration
<log_handler name='sfsu-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/sfsu-connector.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'/>
</log_handler>
<logger name="SFSU-LOGGER" level="FINEST" useParentHandlers="false">
<handler name="sfsu-handler"/>
<handler name="console-handler"/>
</logger>
Is there any special configuration Do i need to do invoke my Scheduler Java Class File.
Help is Greatly Appreciated.Seems like you did it all right but just piece which if you can modify and test. The plugin.xml has two artifacts eventhandler and the schduler. Can you try creating separate plugin.xml with one for the scheduler zipped up with /lib/scheduleClass.jar and test it?
Just deregister everything before trying it and let us know how it goes.
Also the logger as I see is a custom logger, so it is extending the OOTB Logger? Just put some sysouts in the code and check for those in the server out file to be sure.
Edited by: bbagaria on Jul 22, 2011 5:15 PM
Maybe you are looking for
-
Transfer cost & revenue to internal order defined inthe service order.
Dear Experts, On release, service order creates internal order that collects cost & revenue for the job. My requirement is to transfer these costs & revenue to a different internal order through crm order itself. In CRM order there is option to ass
-
I can start my iPod but it will only stay on the Apple icon screen for 5 minutes and then shuts off, what do I do to fix this problem?
-
Get the instance names of clips attached to a movieclip
I want to get the instance names of all the cmovieclips that are attached to a movieclip. Is there a simple way to do this. I imagine this is something that can be done with AS3 but can it be done with AS2? regards J
-
Exporting a sequence from Premiere Pro CC is taking hours
I am new again to Premiere after a 10 year hiatus. I have Premiere Pro CC and as exciting as it is to have the entire suite of products, I feel like resorting to iMovie after trying to export. I was initially getting acquainted with After Effects and
-
School network uses WEP with 802.1x Encryption How do I connect?
My University uses WEP with IEEE 802.1x Encryption with Protected EAP. There are two wireless networks I can connect to and they both use the same security settings. In order to connect on my laptop, I have to enter an User name and Password. I have