Topic
  • 1 reply
  • Latest Post - ‏2013-04-23T06:16:04Z by franzw
MandeepGujral
MandeepGujral
4 Posts

Pinned topic (ITIM 5.1) Placement Rule fails to pick entry object attributes

‏2013-04-22T12:30:47Z |

{
var filt=',ou=IT';
filt=entry.ou + filt;
return filt;
}

Above placement rule fails to pick entry attribute 'ou' and gives below error:

<LogText><![CDATA[Thread 0 Encountered an exception processing uid=G0022010,dc=EmployeeFeed: Script interpreter error, line=3, col=11
Unknown member 'ou' in Java Class 'java.util.HashMap']]></LogText>
 <Source FileName="com.ibm.itim.remoteservices.ejb.mediation.ReconEntryProcessingScheduler$ReconEntryProcessingQueue" Method="handleException"/>
 <Thread>Thread-815</Thread>
 <Exception><![CDATA[com.ibm.itim.remoteservices.exception.RemoteServicesException: Script interpreter error, line=3, col=11
Unknown member 'ou' in Java Class 'java.util.HashMap'
    at com.ibm.itim.remoteservices.ejb.reconciliation.PersonPlacementRules.getPlacementBU(PersonPlacementRules.java:344)
    at com.ibm.itim.remoteservices.ejb.mediation.PersonRequestHandler.addPerson(PersonRequestHandler.java:2783)
    at com.ibm.itim.remoteservices.ejb.mediation.PersonRequestHandler.addOrModifyPerson(PersonRequestHandler.java:502)
    at com.ibm.itim.remoteservices.ejb.mediation.PersonEntryHandler.processEntry(PersonEntryHandler.java:115)
    at com.ibm.itim.remoteservices.ejb.mediation.ReconEntryProcessingScheduler$ReconEntryProcessingQueue.run(ReconEntryProcessingScheduler.java:415)
    at java.lang.Thread.run(Thread.java:736)
Caused by: com.ibm.itim.script.ScriptEvaluationException: Script interpreter error, line=3, col=11
Unknown member 'ou' in Java Class 'java.util.HashMap'
    at com.ibm.itim.script.bsf.ITIMBSFScriptEvaluator.evaluate(ITIMBSFScriptEvaluator.java:253)
    at com.ibm.itim.script.bsf.ITIMBSFScriptEvaluator.evaluate(ITIMBSFScriptEvaluator.java:210)
    at com.ibm.itim.remoteservices.ejb.reconciliation.PersonPlacementRules.getPlacementBU(PersonPlacementRules.java:313)
    ... 5 more

ou attribute is received in the entry object. This is evident because when I bypass the placement rule by hard-coding its return value and not calling

entry.<attribute>, I am able to print all entry object attributes including ou in the create person workflow.

Also, If i run the same placement rule in a different environment, I able to run it.

What could be possibly wrong here ? Please guide me.