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.
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.
Create and group applications for better resource management.
Step 2: Add the SOAP Service to be monitored
Click the Add button:
Add a new SOAP Web Service for monitoring.Expand the empty entry by clicking on the accordion:
Expand to configure your new SOAP Web Service.
Step 3: Basic tab
Name your configuration by editing the following fields in the 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:
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:
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
Set the correct Content-Type for SOAP requests.
If you omit the Content-Type HTTP header, you will typically see the following error:
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:
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:
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:
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:
Configure authentication if your SOAP service requires it.
Step 10: Save configuration
Click Save to persist your configuration. You should see a success message:
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.
Next Step
Related Topics
Add or manage a Monitoring Agent Configuration
Monitoring Agents
Administration
Monitoring Agents