Troubleshooting
If you encounter any of the following issues or errors, SailPoint recommends that you follow the guidance provided below to resolve the error before contacting SailPoint Support.
Ticket creation fails with incident type of ticket when using ServiceNow WashingtonDC. The error message is:
sailpoint.connector.InvalidConfigurationException: [ InvalidConfigurationException ] [ Possible suggestions ] a) Check the response for the ticket number. b) Ensure that provision 'responseElement' is correctly configured for the 'incident' ticket. [ Error details ] Ticket number not found in the response. Response: {"import_set":"ISET0010034","staging_table":"x_sap_sdim_incident","result":[{"transform_map":"Incident","table":"incident","status":"error","error_message":"Target record not found"}]}
Resolution: Ensure the sn_incident_read role is added explicitly to the Service Desk Administrator created in
After go to Applications > Configuration > Settings, the PeopleSoft application configuration settings are displayed in IdentityIQ for ServiceNow Service Desk.
Resolution: Perform the following steps:
In the application debug page search for the following entry key:
<entry key="templateApplication" value="PeopleSoft Template"/>
Replace the value of templateApplication parameter to ServiceNow Service Desk as follows:
<entry key="templateApplication" value="ServiceNow Service Desk"/>
Ticket creation fails because the request includes escape characters (\\). The system produces the following error message:
Ticket creation failed. com.google.gson.stream.MalformedJsonException: Invalid escape sequence at line 3 column 49 path $.description
Resolution: Update the value of the description attribute by using StringEscapeUtils string in the
<entry key="description" value="#if($request.operation == 'Create') Create Account on application $request.resource #else For $request.id in application $request.resource #end #if ($request.items) #foreach ($item in $request.items) $!item.Operation $item.name: $StringEscapeUtils.escapeJava($StringEscapeUtils.escapeJava($item.value.toString())) #end #else $!request.Operation Account #end" />
Ticket creation fails because Access Request comments contains special characters. The system produces the following error message:
sailpoint.connector.InvalidRequestException: [ InvalidRequestException ] [ Error details ] Invalid request received to IT Service Desk System. Status: 400, Output: {"error":{"message":"Exception while reading request","detail":"The payload is not valid JSON."},"status":"failure"}
OR
sailpoint.connector.InvalidRequestException: [ InvalidRequestException ] [ Error details ] Invalid request received to IT Service Desk System. Status: 400, Output: {"error":{"message":"Exception while reading request","detail":"The payload is not valid JSON."},"status":"failure"}
Resolution: When the ticketType is serviceRequest then update the value of the description attribute by using StringEscapeUtils through the
#if($request.operation == 'Create') Create Account on application $request.resource #else For $request.id in application $request.resource #end #if ($request.items) $newline #foreach ($item in $request.items) #if ($item.name == '*disabled*' && $item.value == 'true') Requested action from SailPoint : Disable Account #if ($request.arguments.comments), Comments : $StringEscapeUtils.escapeJava($StringEscapeUtils.escapeJava($request.arguments.comments.toString())) #end $newline #elseif ($item.name == '*disabled*' && $item.value == 'false') Requested action from SailPoint : Enable Account #if ($request.arguments.comments), Comments : $StringEscapeUtils.escapeJava($StringEscapeUtils.escapeJava($request.arguments.comments.toString())) #end $newline #elseif ($item.name == '*locked*' && $item.value == 'false') Requested action from SailPoint : Unlock Account #if ($request.arguments.comments), Comments : $StringEscapeUtils.escapeJava($StringEscapeUtils.escapeJava($request.arguments.comments.toString())) #end $newline #else $!item.Operation $item.name: $item.value #if ($item.arguments.comments), Comment from SailPoint : $StringEscapeUtils.escapeJava($StringEscapeUtils.escapeJava($item.arguments.comments.toString())) #end $newline #end #end #else $newline $!request.Operation Account #end
Creating a ticket or checking the status of a ticket fail due to a rate limit. The system produces the following message:
The API request quota is exceeded. Status: 429
Resolution: Increase the value of the Retry Count and Retry After parameters for ServiceNow Service Desk Connector by adding the following entry keys to the application debug page:
<entry key="provisioningRateLimitRetryCount" value="5"/>
<entry key="provisioningRateLimitRetryAfterSeconds" value="30"/>
<entry key="checkStatusRateLimitRetryCount" value="5"/>
<entry key="checkStatusRateLimitRetryAfterSeconds" value="30"/>
Note
The default value settings for the Retry Count is 5 and the Retry After duration is 30 seconds.
If not configured in the service desk application, the default value for the provisioningRequestExpiration attribute is 7 days.
Because of this, when the Refresh Identity Cube Task with Provision Assignments checkbox is selected and 7 days have passed, a new provisioning request is triggered, causing duplicate tickets to be created.
Resolution – In the application debug page, add the following entry key and associated value in days:
<entry key="provisioningRequestExpiration" value="30"/>
Note
While the example sets the value to 30 days, if it typically takes your organization more than 30 days to close a ticket, increase the value to suit your requirements.
When configuring a custom catalog item in ServiceNow with SDIM integration and the track_ritm flag set to true for the Service Request ticket type, the following error occurs:
sailpoint.connector.InvalidConfigurationException: [ InvalidConfigurationException ] [ Possible suggestions ] a) Check the response for the ticket number. b) Ensure that provision 'responseElement' is correctly configured for the 'serviceRequest' ticket. [ Error details ] Ticket number not found in the response. Response: {"result":{"items":[]}}
Resolution:Update the Tracking ID field to the custom catalog item configuration in ServiceNow.
When an access request is submitted through ISC, the Provisioning Plan references the source's original name, not the cloudDisplayName. As a result, the name shown in the UI may differ from what appears in backend systems or Service Desk tickets.
Example:
UI shows source as: NIPS ECC
Backend shows: NIPP Test
The Provisioning Plan does not use cloudDisplayName; instead, it uses the original source name defined in the system. This difference causes the mismatch in displayed names.
Resolution:This behavior is currently working as expected. If alignment between UI and backend names is required, a product enhancement may be needed to support the use of cloudDisplayName in the Provisioning Plan.