Monitoring Web Services
It's possible to use Web Monitor to monitor Web Services, although you may have to configure a specific Web Monitor Site a little more extensively. The process involves:
- Capturing a full Web Service request with an HTTP Proxy like Fiddler or Charles
- Setting the Url and any Authentication as with plain HTML pages
- Setting an HTTP POST buffer with the raw XML request data
- Setting an HTTP Header for the SoapAction
Capturing Web Service ContentFirst you need to determine how you want to determine if the Web Service is up and running. Ideally your service should have some operation that provides a 'life sign ping' that can be called with minimal effort to determine whether the service is up and returning valid data. It's not required but may make life easier in capturing a service request.
Next you can use a tool like Fiddler or Charles to capture output. To do this start either one of these tools and then run the call against the Web Service (note both tools requires special configuration for HTTPS/SSL requests - see documentation). To capture Web Service requests call the service with a client of your choice or you can manually created an XML request in either of these tools by typing in a predetermined request and headers.
In Fiddler a captured request might look like this:
To monitor this service let's start a new Web Site entry to monitor in Web Monitor which will look something like this:
This data is filled from the Fiddler data. The first thing to do with this data is configure the request. Figure out what the URL for the request is. In this case it's gleamed from the HTTP header:
plus the server that the service runs on in this case rasnote. So the URL is:
http://rasnote/wwstore/admin/WebStoreAdminService.asmx (or https if secure)
Next if the service requires Windows or HTTP authentication make sure you specify it to access the resource as usual. To create a valid HTTP Request that the service can process you also need to add Headers and POST data. Specifically:
- The SoapAction: Http Header
Enter the SoapAction: "url" into the HTTP Headers section.
- The entire XML POST buffer from the request
Paste the capture raw XML code into the
Click the Send Http Header or POST data checkbox which brings up a dialog that lets you fill in Headers and POST data. The input looks something like this for the request displayed:
This allows you to send a request to the server that simulates a full SOAP request.
The final step is to set up a string result to expect or search for in the HTTP response. In this case I'm actually posting some data to the service and expecting merely a true or false result which is returned as an XML value result as shown in the Web Site Entry dialog in the figure above. If this result is returned we can expect the service is working as expected. Otherwise - it's flagged as failed.
Note that using Fiddler is optional. You can also skip this step and paste your XML request and headers completely manually and try out the operation by clicking the the Check Site Now in the Web Site dialog. However, Fiddler or another HTTP proxy is still quite useful to verify what data was returned on the last request.
See alsoHTTP Post Data Form
Comment or report problem with topic