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.

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.