Custom AD attribute provisioning

Document ID : KB000073381
Last Modified Date : 15/03/2018
Show Technical Document Details
I use the CA Identity Manager 14.1 and i want provisioning a value to an active directory custom attribute.
With Idm 12.5 i used the payload attribute to set this custom value, and it worked correctly,
E.g.: for the payload value: "personalPager:01:0004=B999;"

Now i got the following error when i set the "personalPager:01:0004=B999;" value to the payload attribute:
Invalid JSON data at line 1 column 1 at at com.netegrity.llsdk6.imsimpl.BaseObject.modifyObject( at com.netegrity.llsdk6.imsimpl.BaseObject.modifyObject(
With this issue Client was using an Event Listener for a Modify User Event.
Here is an extract of the custom java code:
                        AccountProvider genericAccountProvider = (AccountProvider)imsEnvironment.
                        ObjectType objectType = genericAccountProvider.getObjectType(imaccount.getHandle().getNamespace());
                        AccountProvider accountProvider = (AccountProvider)imsEnvironment.getManagedObjectProvider(objectType);
                        ManagedObject managedObject = accountProvider.getManagedObject(imaccount.getHandle().toString(), null);
                        String attrName = "payload";
                            AttributeRightsCollection attrs = new AttributeRightsCollection();
                            attrs.addEntry(new AttributeRight(attrName, PermissionType.READWRITE));
                        managedObject.setAttribute(attrName, "personalPager:01:0004=B999;");
The following line:
managedObject.setAttribute(attrName, "personalPager:01:0004=B999;");
is a wrong coding as IM expects a JSON syntax.
Change the code to:
managedObject.setAttribute(attrName, "{\"name\":\"personalPager\",\"value\":\"B999\"}");