Environment
IDM 4.x
RBPM 4.x
Designer 4.x
RBPM 4.x
Designer 4.x
Situation
When starting a workflow with a resource request activity, the workflow completes but the resource request activity will stay "running" with the status of 0.
The roles and resources driver will have this error when trying to process the resource request activity:
DirXML Log Event -------------------
Driver: \SOMETREE\system\Driver Set\Role and Resource Service Driver
Channel: Subscriber
Status: Error
Message: Error processing request
DN: O=system\CN=Driver Set\CN=UserApplication\CN=AppConfig\CN=RoleConfig\CN=ResourceRequests\CN=20111214170728-a32e84ff3b4e465a80f3840c0b779660-0
Reason: java.lang.Exception: Error. Entitlement parameter value is not in the expected JSON format, defined by the entitlement configuration setting named parameter-format. This can occur from malformed JSON in the parameter value, or an entitlement was provisioned with a legacy parameter value before the entitlement parameter support was upgraded to IDM4.
DN: O=system\CN=Driver Set\CN=Active Directory\CN=Group
Agent: UA
Parameter Value: 287b8ee884d1a34bad8ea111111d5cc
[12/14/11 17:07:26.460]:role_resource ST:End transaction
The roles and resources driver will have this error when trying to process the resource request activity:
DirXML Log Event -------------------
Driver: \SOMETREE\system\Driver Set\Role and Resource Service Driver
Channel: Subscriber
Status: Error
Message: Error processing request
DN: O=system\CN=Driver Set\CN=UserApplication\CN=AppConfig\CN=RoleConfig\CN=ResourceRequests\CN=20111214170728-a32e84ff3b4e465a80f3840c0b779660-0
Reason: java.lang.Exception: Error. Entitlement parameter value is not in the expected JSON format, defined by the entitlement configuration setting named parameter-format. This can occur from malformed JSON in the parameter value, or an entitlement was provisioned with a legacy parameter value before the entitlement parameter support was upgraded to IDM4.
DN: O=system\CN=Driver Set\CN=Active Directory\CN=Group
Agent: UA
Parameter Value: 287b8ee884d1a34bad8ea111111d5cc
[12/14/11 17:07:26.460]:role_resource ST:End transaction
Resolution
During the creation of the PRD in Designer 4.x, one of the properties in the Resource request activity is Entitlement Parameter.
This parameter has to be in a proper JSON format, if your entitlement was created with Designer 4.x packages for IDM 4.x .
Since RBPM uses ECMA and the entitlement parameter needs a string, we need to convert the parameter to string text before sending it over.
The general format for the parameter would be (this example has 3 parameter:value pairs):
{'ParameterName1':'ParameterValue1','ParameterName2':'ParameterValue2','ParameterName3':'ParameterValue3'}
The command used in the PRD would look like:
String("{'ParameterName1':'ParameterValue1','ParameterName2':'ParameterValue2','ParameterName3':'ParameterValue3'}")
An example for the AD driver would be:
String("{'ID':'27b7bab8464f0344810d51adc8a7df41','ID2':'CN=Allowed RODC Replication Group,CN=Users,DC=ADTEST,DC=LAB,DC=NOVELL,DC=COM'}")
This parameter has to be in a proper JSON format, if your entitlement was created with Designer 4.x packages for IDM 4.x .
Since RBPM uses ECMA and the entitlement parameter needs a string, we need to convert the parameter to string text before sending it over.
The general format for the parameter would be (this example has 3 parameter:value pairs):
{'ParameterName1':'ParameterValue1','ParameterName2':'ParameterValue2','ParameterName3':'ParameterValue3'}
The command used in the PRD would look like:
String("{'ParameterName1':'ParameterValue1','ParameterName2':'ParameterValue2','ParameterName3':'ParameterValue3'}")
An example for the AD driver would be:
String("{'ID':'27b7bab8464f0344810d51adc8a7df41','ID2':'CN=Allowed RODC Replication Group,CN=Users,DC=ADTEST,DC=LAB,DC=NOVELL,DC=COM'}")