Summary
This knowledge base article will describe an issue created in App Portal 2016 service pack 3. ServiceNow workflow "Validate Request" will fail due to API call return 500 error.
Symptoms
This knowledge base article will describe an issue created in App Portal 2016 service pack 3. ServiceNow workflow "Validate Request" will fail due to API call return 500 error.
You can verify the failure error either by IIS log file or login App Portal server directly and open an internet browser. Try to call the following API to confirm whether you have expected result return or return 500.
API call:
http://localhost/ESD/api/users?filter=email%3D%3D%22UserEmailAddress%22&machineName=UserAssociatedDeviceName
(Please replace UserEmailAddress , UserAssociatedDeviceName to the real value in your case)
Current behavior: Browser will return incorrect format of file to ask for saving , but eventually end with 500 error ( can be observed by iis log file)
Cause
The problem was at the code implementation.
A constructor was not handling the method call gracefully, hence API call has broken.
we have come to know that, constructor calling a public method can be an antipattern.
Resolution
The same fix would be available on SP4, the scheduled release for the same is end of August.
Workaround
1. Please download attachement and unzip it.
2. Backup your existing folder from App Portal Server before replacement
3. Stop the ESD services and replace the dll in the patch attament.
--- Please be aware when do the (copy and paste dll file), simply choose the replace the existing file option, Do Not rename old dll and paste the new file...it will break the COM dependency.
4. Restart ESD service account
5. Reset IIS
6. Try to call the API call again and we expect browser will ask you to save the file by json format, and eventually the API result will be shown on the browser.