Environment
NetIQ Identity Manager 4.5.3
Situation
On versions prior to 4.5.3, if an empty variable is passed in to a token-map verb, it results on an empty token.
Since 4.5.3, when an empty variable is passed in, the operation errors out and reports the following:
An exception occurred: java.lang.StringIndexOutOfBoundsException: String index out of range: -1
When this happens, the processing of the event gets interrupted and the event is lost.
Resolution
The issue has been reported to engineering and a new version of dirxml.jar is available internally. The fix will be publicly released with the IDM 4.5.4 patch.
If a fix is required before patch 4.5.4 is released, please contact Novell Technical Services.
Additional Information
This is the full error displayed in trace:
[01/13/16 15:43:19.601]:SAP-User-JCO3 ST:
DirXML Log Event -------------------
Driver: \TREE\acme\services\DirXML-DriverSet\SAP-User-JCO3
Channel: Subscriber
Object: \TREE\acme\cz\usr\abcz9999
Status: Error
Message: Code(-9010) An exception occurred: java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.substring(String.java:1967)
at com.novell.nds.dirxml.engine.rules.Arg.evaluate(Arg.java:520)
at com.novell.nds.dirxml.engine.rules.TokenMap.expand(TokenMap.java:109)
at com.novell.nds.dirxml.engine.rules.Arg.evaluate(Arg.java:464)
at com.novell.nds.dirxml.engine.rules.DoSetLocalVariable.apply(DoSetLocalVariable.java:100)