Web Services is an XML-based technology that allow applications to communicate with each other, regardless of the environment, by exchanging messages in a standardized format (XML) via web interfaces (SOAP and WSDL APIs).
ManageEngine Applications Manager provides a flexible approach to manage a Service-Oriented Architecture (SOA) that uses SOAP Web Services. It helps business managers configure SLAs and track high level availablity of the Web Service. Application admins can monitor the performance of these Web Services by configuring Applications Manager to execute 'Operations' published by the Web Service. By specifying the WSDL, a simple wizard helps you configure operations that need to be invoked and gives the ability to specify arguments to the operation. In addition to this, there is out-of-the-box support for configuring thresholds on individual operation execution times and user-defined XSLT parameters.
Prerequisites for monitoring Web Services metrics: Click here
Using the REST API to add a new Web Services monitor: Click here
To create a Web Services monitor, follow the steps given below:
If you have added Monitors and not associated them with a Monitor Group, you can do this manually anytime. For information on associating a Monitor with a Monitor Group, refer to Associating Monitor with Monitor Groups topic.
Note: If you want to access Web Services through Proxy, go to Settings → Configure Proxy Settings → Check if Proxy is configured, else configure the same. For hosts that don't require Proxy, add them to the No Proxy list.
You can add Operations to the Web Service for monitoring. Operations are abstract descriptions of actions supported by the service.
Follow the steps given below to add operations:

The Operations thus added, will be listed in the details page under the Operation Statistics section. In this section, you can view the details of the operation such as Operation Name, SOAP Request, SOAP Response, status and execution time. Applications Manager provides a link in the Alert Email for SOAP Action, to view the SOAP response for the specific operation. You can also configure thresholds and alarms for all the operations.
The Web Service Functions are used to give dynamic input for each SOAP Request. You have to replace the input value with the function specified in the above format.
| Function | Description | Usage |
|---|---|---|
| ${random(MinValue,MaxValue)} | This function will generate Random numbers as input. | ${random(100,1000)} This will generate a random number between 100 and 1000 E.g. 446. |
| ${time(TimeFormat)} | This method will generate current date and time as input. You can specify your own Date and Time Format. | ${time(yyyy-MM-dd(HH:mm:SSS))} This will generate the date and time in this format2015-09-21(16:49:717). |
| ${time(TimeFormat)#(1d,-1y)} | This method will generate custom year,date and time as input. You can specify your own Date and Time Format. | ${time(yyyy-MM-dd(HH:mm:SSS))#(5d,2m,-1y)} This will generate the date and time in this format2014-11-26(16:49:717). |
| ${passAuthToken(authtoken)} | This method will replace token/access key which is already derived from SOAP Response mentioned in ''Authentication Token''. | ${passAuthToken(authtoken)} This will generate token node in this format<LogOnToken>${passAuthToken(authtoken)}</LogOnToken>. Tag name <LogOnToken> is just an example, it could be anything actually. |
| ${nonce()} | This method will generate a random base64 encoded,16-byte nonce value. | ${nonce()} This will generate a random base64 encoded,16-byte nonce value to prevent request duplication. Ex : NGMzb05BeHF6V1dHNTNuNQ== |
Applications Manager allows you to use XSLT input to extract specific values from SOAP responses and create custom monitoring attributes. This helps you track additional data returned by web service operations that may not be available as default metrics. By applying XSLT to a SOAP operation, you can parse the response, generate new attributes, and monitor them along with other metrics. These attributes can also be viewed in the monitor and enabled for reporting to analyze their performance over time.
The following sections explain how to apply XSLT to SOAP operations, add XSLT input to existing operations, view the created attributes, and enable reports for them.
After clicking Add Operation link, the user can define specific values to be monitored for a particular SOAP operation using the XSL transformation in the SOAP Request tab. When adding a particular operation, click Add XSL Transformation button and define the attributes to be monitored in the following format:
Syntax
<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:m="<Endpoint_Method_URL>" <xsl:output method="text"/> <xsl:template match="/"> attributename:<Path to fetch the attribute> </xsl:template> </xsl:stylesheet>
To define specific attributes to be monitored, ensure that the following criterias are met:
The output method should be of type 'text'.
<xsl:output method="text"/>
The final output of the path to fetch the attribute should be in key-value pairs of the format attributeName:attributeValue.
Example: To add an attribute for checking the days, make sure that the XSLT output is of the format Days:<xsl:value-of select="days"/> would create an attribute 'Days' whose value will be the value of the <days> tag present in the SOAP response.
Upon clicking the Update button, the defined attributes will be fetched and monitored along with their corresponsing values in the table under the SOAP Response tab, which can then be used to configure alarms, thresholds, actions, and generate reports as well. However, reports cannot be generated if the attributes monitored is of String format.
The keys should be unique within a particular SOAP Operation. They can be duplicated across operations.
Example
Let us consider the following SOAP Request of XML format which will be shown in the SOAP Request tab:
<?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xs="http://webservice.domainname.com/temperature"> <soapenv:Body> <xs:CelsiusToFahrenheit> <xs:nCelsius>?</xs:nCelsius> </xs:CelsiusToFahrenheit> </soapenv:Body> </soapenv:Envelope>
Following is the SOAP Response of XML format which will be shown in the SOAP Response tab for the above SOAP Request:
<?xml version="1.0" encoding="utf-8" standalone="no"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <m:CelsiusToFahrenheitResponse xmlns:m="http://webservices.daehosting.com/temperature"> <m:CelsiusToFahrenheitResult>32</m:CelsiusToFahrenheitResult> </m:CelsiusToFahrenheitResponse> </soap:Body></soap:Envelope>
Let's say you want to monitor the result of the CelsiusToFahrenheit operation from the SOAP Request. To do so, click on Add XSL Transformation and define the attributes in the following format:
<?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:m="http://webservice.domainname.com/temperature" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="text"/> <xsl:template match="/"> Result:<xsl:value-of select="soap:Envelope/soap:Body/m:CelsiusToFahrenheitResponse/m:CelsiusToFahrenheitResult"/> </xsl:template> </xsl:stylesheet>
where,
Similarly, to fetch CelsiusToFahrenheitResponse node value, we can define as soap:Envelope/soap:Body/m:CelsiusToFahrenheitResponse in the path which will fetch the response node value.
Upon clicking Update, the attribute Result will be monitored along with the value of the CelsiusToFahrenheit operation in the table under the SOAP Response tab, which can then be used to configure alarms, thresholds, actions, and generate reports as well.
Under the Operation Statistics table, select the operation for which you wish to view the XSLT data. This opens the SOAP Response tab under which the attributes are listed in a tabular format with functionality to add thresholds and view reports. For numeric data, the graphic data is displayed after the table.
Click the Manage Operation link under the Operation Statistics section to go to the 'Manage Operation' page. In this page, click the edit icon to edit the Operation Display name as well as the Arguments including SOAP Action and SOAP Request values.
Learn how to add custom attributes with XSLT input
Following are the metrics monitored in Web server monitor:
| Parameter | Description |
|---|---|
| WSDL Response Time | |
| Response Time | Time taken obtain a response from the web service (in milliseconds). |
| Operation Statistics | |
| Operation Name | Name of the operation performed. |
| Execution Time | Time taken for the operation to be executed (in milliseconds). |
Sequential execution of SOAP Operations:
Create a sequence of SOAP Operations wherein the output obtained from one SOAP Response is used as the input for the next SOAP Request. To do so, follow the steps given below:
After monitor creation, add the operations. For the operations where the input is taken from the response of another operation, call the function passAuthToken.
Syntax: ${passAuthToken(authtoken)}
Example: ${passAuthToken(GetCitiesByCountry_SEP_City)}
Thank you for your feedback!
It allows us to track crucial metrics such as response times, resource utilization, error rates, and transaction performance. The real-time monitoring alerts promptly notify us of any issues or anomalies, enabling us to take immediate action.
Reviewer Role: Research and Development