New Question
 
 
PRTG Network Monitor

Intuitive to Use.
Easy to manage.

200.000 administrators have chosen PRTG to monitor their network. Find out how you can reduce cost, increase QoS and ease planning, as well.

Free PRTG
Download >>

 

What is this?

This knowledgebase contains questions and answers about PRTG Network Monitor and network monitoring in general. You are invited to get involved by asking and answering questions!

Learn more

 

Top Tags


View all Tags


Is it possible to test a WSDL or SOAP service with PRTG?

Votes:

0

Your Vote:

Up

Down

I would like to check the availability and response time of a WSDL or SOAP service. How can I do this with PRTG?

http-advanced http-advanced-sensor prtg soap wsdl

Created on Oct 22, 2015 12:56:14 PM by  Martina Wittmann [Paessler Support]



1 Reply

Accepted Answer

Votes:

2

Your Vote:

Up

Down

This article applies to PRTG Network Monitor 15.x.19 or later

Testing a WSDL or SOAP Service with PRTG

You can test the availability and response time of a WSDL or SOAP service by utilizing an HTTP Advanced sensor. After all, a SOAP request is at its core just an HTTP POST transaction with a few special options set.

To get it to work you need:

  • Service Endpoint/URL
  • SOAP Envelope
  • SOAP Version

If you have the WSDL, you can generate the SOAP envelope using a standard tool, for example the Membrane SOAP Client or the Eclipse SoapUI Plugin.

As an example, we will use a publicly available SOAP request that you can find in this Directory of Public SOAP Web Services: the StockQuoteWSDL.

http://www.webservicex.com/stockquote.asmx?WSDL

It defines the available operations and layout of the SOAP request.

Using a WSDL tool, you can create the following request:

Enlarge here.

The specific headers you need are:

Content-Type: text/xml
SOAPAction: http://www.webserviceX.NET/GetQuote

The Soap 1.1 Envelope

<s11:Envelope xmlns:s11='http://schemas.xmlsoap.org/soap/envelope/'>
  <s11:Body>
    <ns1:GetQuote xmlns:ns1='http://www.webserviceX.NET/'>
      <ns1:symbol>XXXX</ns1:symbol>
    </ns1:GetQuote>
  </s11:Body>
</s11:Envelope>


Set up the HTTP Advanced Sensor

To check the availability of your SOAP service with PRTG, these are the steps to follow:

  • Add the HTTP Advanced sensor to a device in your device tree.
  • Select the following HTTP Specific Settings:
    1. Request Method: POST
    2. Postdata: Paste in your SOAP Envelope.
    3. Content Type: Custom
    4. Custom Content Type: text/xml if you work with SOAP v1.1 or application/soap+xml if you work with SOAP v1.2. (To get a description of the differences between SOAP 1.1 and SOAP 1.2, you can have a look at this SOAP Web Service Tutorial.)

Enlarge here.

  • Select the following Advanced Sensor Data:
    1. Use Custom HTTP Headers: Choose the option Use custom HTTP headers
    2. Custom HTTP Headers: Paste in your SOAP action and the SOAP content type: SOAP Action: [Your SOAP Action] Accept: [Your SOAP Content Type].
      Note: It is important that you set the Accept: parameter because otherwise the system inserts Accepts: text/html, which does not give you the result you want. In our example, add the following SOAP Action and Accept parameters to the Custom HTTP Headers field:
SOAPAction: http://www.webserviceX.NET/GetQuote
Accept: application/soap+xml

Enlarge here.

  • Result Handling: Store the latest HTML result. This option allows you to see the actual content of the server's response for debug/troubleshooting. Enlarge here.


Look at the Results

To see what is returned as a result, take a look in the sensor log. PRTG usually saves the sensor logs in %PROGRAMDATA%\Paessler\PRTG Network Monitor\Logs (Sensors). The file(s) are called:

  • Result of Sensor xxxx: See the whole HTTP transaction.
  • Result of Sensor xxxx-A: See the response or answer, which is the raw SOAP return envelope.

This means that the actual return is XML Escape encoded like:

…<GetQuoteResult>&lt;StockQuotes&gt;&lt;Stock&gt;&lt;Symbol&gt;QQQ&lt;/Symbol&gt;&lt;Last&gt;104.15&lt;/Last&gt;…

If you want to check the content with a keyword to trigger a warning or error status, you have to use a literal match. In this example, we’re looking for the last price for the stock: <Last> which is XML Escaped as &lt;Last&gt;.

Therefore, take care of the following sensor settings:

  1. Require Keyword: Set sensor to warning if keyword is missing.
  2. Response Must Include: [Your Keyword], here: &lt;Last&gt;.

Enlarge here.


The HTTP Advanced sensor will also give you all the timing information for the SOAP service.

Enlarge here.

Created on Oct 22, 2015 4:20:01 PM by  JR Andreassen [Paessler Support]

Last change on Oct 16, 2017 8:52:44 AM by  Erhard Mikulik [Paessler Support]



Please log in or register to enter your reply.


Disclaimer: The information in the Paessler Knowledge Base comes without warranty of any kind. Use at your own risk. Before applying any instructions please exercise proper system administrator housekeeping. You must make sure that a proper backup of all your data is available.