- 5 minutes to read

How to monitor a SOAP service

Unlock the power of automated SOAP service monitoring with Nodinite! This comprehensive guide shows you how to configure, test, and validate XML-based SOAP services using the Nodinite Web Service Monitoring Agent.

✅ Effortlessly monitor SOAP web services and automate response validation
✅ Instantly detect certificate and authentication issues
✅ Group, manage, and alert on resources for seamless integration

This is a complete end-to-end user guide on how to call and evaluate a response from an XML-based SOAP service using a Temperature Converter from W3Schools

The Nodinite Web Service Monitoring Agent enables you to perform requests and evaluate the body of HTTP responses. Each Web Service configuration becomes a Resource in one or more Monitor Views where you can track the evaluated state in real time.

SOAP Resources Example
Example of monitored SOAP resources with evaluated state in Nodinite.

Step 1: Add a new Application

Enter a name and unique ID for each application.

Repeat as needed. The Nodinite Application feature makes it easy to group and identify your monitored services.
SOAP Application
Create and group applications for better resource management.

Step 2: Add the SOAP Service to be monitored

  • Click the Add button:
    Add new Web Service
    Add a new SOAP Web Service for monitoring.

  • Expand the empty entry by clicking on the accordion:
    Expand empty entry
    Expand to configure your new SOAP Web Service.

Step 3: Basic tab

Name your configuration by editing the following fields in the Basic tab:
Basic Tab
Configure the basic settings for your SOAP service monitoring.

  • Make sure the configuration is enabled (checked)
  • Set the Display name to a logical name, for example: Evaluate Temperature using a SOAP service
  • Set the Description to provide context, such as Sample SOAP Service
  • Select the Application you created in Step 1

Step 4: Advanced tab

Manage your time-related thresholds in the Advanced tab:
Advanced Tab
Set polling intervals, timeouts, and retry logic for robust monitoring.

  • Set the Polling Interval (e.g., 3600 seconds for infrequent checks)
  • Set the Request Timeout (e.g., 120 seconds)
  • Check Allow Retries
  • Set the Number of retries (e.g., 3) to avoid false alerts
  • Set the Retry Status Code to OK to ignore errors during retries

Step 5: Request tab

Configure the actual Request in the Request tab:
Request Tab
Define the SOAP request details, including URI, method, and payload.

  • Enter the URI to the Web API, e.g., https://www.w3schools.com/xml/tempconvert.asmx
  • Set the method to POST
  • Check the SOAP checkbox
  • Enter the XML body as the payload for the SOAP call, for example:
<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
  <soap12:Body>
    <CelsiusToFahrenheit xmlns="https://www.w3schools.com/xml/">
      <Celsius>42</Celsius>
    </CelsiusToFahrenheit>
  </soap12:Body>
</soap12:Envelope>
  • Set the Content-Type to application/soap+xml; charset=utf-8

Content-Type
Set the correct Content-Type for SOAP requests.

If you omit the Content-Type HTTP header, you will typically see the following error:

UnsupportedMediaType
Error state when Content-Type is missing or invalid.

Always verify the correct Content-Type for your specific SOAP service.

Step 6: Response tab

Configure response validation in the Response tab:
Response Tab
Set expected status codes and response validation criteria.

  • Set the Status Code to 200 (OK)
  • For this type of check, you can usually leave performance checkboxes unchecked

Step 7: Evaluate response body tab

Configure evaluation of the HTTP response body in the Evaluate response body tab:
Evaluate response body
Use XPath expressions to validate SOAP response content.

  • Select Expression Type: Xpath
  • Enter the following Expression:
/*[local-name()='Envelope']/*[local-name()='Body']/*[local-name()='CelsiusToFahrenheitResponse']/*[local-name()='CelsiusToFahrenheitResult']

Use local-name() in XPath when the response includes namespaces.

  • Set the expected result to 107.6 (use another value for negative tests)

XML SOAP Response

For reference, here is the XML for the SOAP response:

<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
  <soap12:Body>
    <CelsiusToFahrenheitResponse xmlns="https://www.w3schools.com/xml/">
      <CelsiusToFahrenheitResult>107.6</CelsiusToFahrenheitResult>
    </CelsiusToFahrenheitResponse>
  </soap12:Body>
</soap12:Envelope>

Step 8: Certificate tab

If your SOAP service uses HTTPS, ensure there are no certificate issues. Configure Nodinite to alert you if a problem is detected with the certificate in the Certificate tab:
Certfificate tab
Monitor certificate validity and enforce secure connections.

  • Check Evaluate certificate if you use a certificate
  • Set the number of days before expiry for Warning and Error alerts
  • Check Force the use of certificate if you want to enforce certificate usage
  • Leave Allow connection for invalid certificates unchecked to ensure security

Step 9: Authentication tab

In this example, no authentication is required since the service is public. If your service requires authentication, configure it in the Authentication tab:
Authentication Tab
Configure authentication if your SOAP service requires it.

Step 10: Save configuration

Click Save to persist your configuration. You should see a success message:
Save success
Confirmation of successful configuration save.

Step 11: Create a Monitor View and Configure alerts

Configure a Monitor View and select an Alarm Plugin to receive alerts in your preferred way. These steps are detailed in the Add or manage Monitor View user guide.

Make sure to select the Resource you named in step 3.


Next Step

Monitor Views

Add or manage a Monitoring Agent Configuration
Monitoring Agents
Administration
Monitoring Agents