- Subscribe to RSS Feed
- Mark as New
- Mark as Read
- Bookmark
- Subscribe
- Printer Friendly Page
- Report Inappropriate Content
SOAP is one of the available Web Services that the ServiceNow platform offers and supports to integrate your instance (A) with another instance or third-party applications (B) that support SOAP. This post focuses on why and how to debug the SOAP integration when there is any interruption identified. If you are not too familiar with how SOAP integration works in ServiceNow, I highly suggest you take a look at the product documentation before reading ahead: SOAP web service
Why and how to debug a SOAP integration
When SOAP debug is enabled, the platform generates additional logs that allow you to see the SOAP transactions, be it inbound or outbound. Let's consider that SOAP integration is set up between instance A and B for the incident management process. Therefore, when an incident (INC00001) is created/updated on the A side, we expect our integration to perform the same on the B side. But what if no such incident is created/updated on the B side? What went wrong?
This is where debugging can provide some answers. When inbound SOAP debug is enabled on the B side, you can see the SOAP communication sent by the A side in your logs. When outbound SOAP is enabled on the A side, you can see what SOAP communication was generated on the A side logs and posted towards the B side.
Debugging inbound SOAP
Enabling inbound SOAP debug allows you to view the following information:
- The SOAP message received in a ServiceNow instance
- Time when the SOAP message was received
- Whether it includes all the mandatory inputs to insert/update the target record
There is a system property glide.processor.debug.soapProcessor of type Boolean type (true/false). If you don't see this property in your instance, you can create it.
When you set this property value as true, platform will start logging all inbound soap transactions to your instance with source value as SOAPProcessor as shown below:
Debugging outbound SOAP
Enabling outbound SOAP debug allows you to view the following information:
- The SOAP message sent from ServiceNow instance
- Time when the SOAP message was sent
- Whether it includes all the data that your integration party expects
Outbound SOAP Envelopes can be seen in two ways:
- Using ECC Queue
- Prior to Fuji: SOAP Request Constructor
- Fuji onwards: Sending a SOAP Message Asynchronously
- Generate debug logs using system property
There is a system property glide.soap.outbound.debug of type Boolean (true/false). If you don't see this property in your instance, you can create it.
When you set this property value as true, the platform will start logging all outbound SOAP transactions in system logs, which can be seen from a related instance node using one of following log utilities:
- System Logs > Utilities > Node Log File Download
2017-07-12 05:16:04 (117) Default-thread-25 E81F6F5F4F73B200826B098D0210C7A2 DEBUG: SOAP Msg Outbound - SOAPMessageClient : Executing synchronous request
2017-07-12 05:16:04 (117) Default-thread-25 E81F6F5F4F73B200826B098D0210C7A2 DEBUG: SOAP Msg Outbound - SOAPMessageClient : Prepared requestBody for soap request:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap
/envelope/" xmlns:u="http://www.service-now.com/u_incident">
<soapenv:Header/>
<soapenv:Body>
<u:insert>
<active>true</active>
<comments></comments>
<short_description>Performance problems with CPU</short_description>
<description></description>
<correlation_id>SOAPINT00002</correlation_id>
<number>INC0020003</number>
</u:insert>
</soapenv:Body>
</soapenv:Envelope>
- System Logs > Utilities > Node Log File Browser
This is how SOAP debug assists in investigating issues and answering these questions:
- Was the SOAP message sent successfully from the A side?
- Was the SOAP message sent from the A side reached successfully on the B side?
Note: Enabling SOAP debug adds extra logging in system logs, but it helps and does not impact your instance performance, so you can decide whether to leave it active or enable it on demand. Just keep in mind that when you enable it on demand, it requires reproducing the issue again after enabling.
Related Links:
- 15,794 Views
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.