Icon

Comments have been closed on this page. Please use AppMon & UEM Plugins forum for questions about this plugin.

Name

SOAP Monitor Plugin

Description

The SOAP Monitor verifies availability, content, and access time for specified SOAP requests to ensure the availability of SOAP Services. It supports secure communication and HTTP proxies.

Plug-In Version

6.1.0.7870

Compatible with

dynaTrace 4.x, 5.x, 6.x

Author

Chuck Miller (charles.miller@dynatrace.com)

License

dynaTrace BSD

Support

Not Supported

Downloads

com.dynatrace.diagnostics.plugin.SOAPMonitor_6.1.0.7870.jar

Sample System Profile

Sample Dashboard

Technical overview

This monitor plugin provides the following measures:

  • ConnectionCloseDelay
  • ContentVerified
  • FirstResponseDelay
  • HeaderSize
  • HostReachable
  • HttpStatusCode
  • ResponseCompleteTime
  • ResponseSize
  • Throughput

Install Description

Import the Plugin into the dynaTrace Server. For details how to do this please refer to the dynaTrace documentation.

Configuration

The SOAP Monitor is derived from the URL Monitor and requires similar configuration information such as protocol, port, path, and host(s) to monitor. In addition, authorization credentials and proxy information can be specified.

Furthermore, SOAP envelope data to be sent with a POST request has to be specified. As an example, we provide a sample system profile and a dashboard configured to monitor WebSphere Message Broker.

Screenshots

Showing a dashboard with some of the monitor's measures and the configuration dialogs:

Known Problems

 

  1. Anonymous (login to see details)

    Hi,

    I gave the header also in the SOAP Envelope Post data. It is giving me the error: Content-Length not known but larger than 1000

    What can I do?

    Thanks,

    Keerti

  2. Anonymous (login to see details)

    Both Eugene and I will work with you early next week to get this resolved.

    Thanks!

    Chuck

  3. Anonymous (login to see details)

    This issue has been resolved with version com.dynatrace.diagnostics.plugin.SOAPMonitor_6.1.0.7861.  It should be uploaded to Github in the near future.  If anyone else hits this problem in meantime, feel free to reach out to me at charles.miller@dynatrace.com.

    Thanks!

    Chuck

  4. Anonymous (login to see details)

    Thanks! It is working now.

  5. Anonymous (login to see details)

    Hi Chuck,

    I am having problems with both the URL and SOAP monitors sometimes. The "ResponseCompleteTime" measure is sometimes giving values >2000 ms whereas when I take a look at the purepath response time, the max is around 80 ms. I am very confused with the difference. Can you please explain why the "responseCompleteTime" is sometimes so high whereas the purepath time remains low? 

    Thanks,

    Keerti

    1. Anonymous (login to see details)

      Hi. Can you post this question on the discussion forum? https://answers.dynatrace.com/spaces/148/index.html - i would like more people to benefit from the answer

      1. Anonymous (login to see details)

        Sure Andy! Thanks

  6. Anonymous (login to see details)

    Keerti,

    I had a look at the code and we are stopping the ResponseCompleteTime just after retrieving the full response and performing the content match check.  I do think it would be worthwhile to change it to stop before the content match happens.  Are you doing content matching?  I'd be surprised if that were a big contributor to the two secs ... but I will update the plugin anyway.  Other than that, it is just retrieving the full response.  So the only other contributors possible would be the size of the content or network latency.  Also, is there a big difference betwee FirstResponseTime and ResponseCompleteTime?

    Thnnks!

     

    Chuck

  7. Anonymous (login to see details)

    Hello,

    The same soap request message can be sent via SoapUI successfully, but when running from the plugin I encountered the following fail message. It probably caused by a problem with the soap message type. The plugin do not support the use of SOAP 1.1. How can i fix this problem? 

    Response is:

    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soapenv:Header/><soapenv:Body><soapenv:Fault><faultcode>Client.NoSOAPAction</faultcode><faultstring>WSWS3147E: Error: no SOAPAction header!</faultstring></soapenv:Fault></soapenv:Body></soapenv:Envelope>

  8. Anonymous (login to see details)

    Hi Guys,

    I am currently facing this issue:

    Does this mean, that the retrieved content is too big (or the sent content)?

    If so, could this be adjustable (like a property to set the allowed content-length)? Anything we could do in order to have a green status? (smile)

    Best regards,
    Dennis

  9. Anonymous (login to see details)

    Hi Dennis

    The content size problem is probably related with the response size. The 6.1.0.7861 version solves this issue but if you have my issue i can share a new version packet which fixed.

    1. Anonymous (login to see details)

      Hi Ersan,

      thanks for the quick feedback.

      When I am correct, the customer is already using the 6.1.0.7861 version with DT 6.2.6. But if you have any other fix, I would be more than happy if you could share that with me (smile)

      Best regards,
      Dennis

      1. Anonymous (login to see details)

        Hi,

        I have already submitted to the github repository. A new package contains the soapaction header as config option parameter based on 6.1.0.7861 version. The header feature has been added by Sean M of the community. I just combined them.

        Here: https://github.com/ersan-arik/Plugin

        Rgrds,

        Ersan

        1. Anonymous (login to see details)

          Hi Ersan.

          thank you so much for the quick and valuable help. The test was successful. It is now working with this additional option (smile)

          Best regards,
          Dennis

  10. Anonymous (login to see details)

    UPDATE

    This was a user error.. I downloaded the package mentioned on this page instead of the latest from github.

    • Moses

     

    Hi 

    I need to set the Soap action header. I have installed the latest version you have mentioned but I do not see the SOAPAction header as a config element

     

    But I dont see the element available. Would you be able to give a screenshot of where I may be able to find the SoapAction header

     

     

     

  11. Anonymous (login to see details)

    I am using the SOAP plugin to monitor a few of the business critical webservices. Each of the websevices have server side authentication turn on. When I run the monitor the monitor reports that a HTTP-200 and content is verified.

    How ever in the Dynatrace each execution of the monitor first is producing a 401-unauthorized error before successfully completing the execution. This behavior only happens when calls is being replayed with SOAP Monitor plugin and not when executing the payload via soapui or Postman client.

     

  12. Anonymous (login to see details)

    Just downloaded com.dynatrace.diagnostics.plugin.SOAPMonitor_6.1.0.7863.jar

    Not obvious how to add a soapaction header .

     

     

    1. Anonymous (login to see details)

      George,

      I added the SOAPAction Header functionality.  If you check Enable SOAPAction Header, it should be set as part of the request.  Can you please test this and see if it works properly for you and then we will add it to github, etc ....

      Here's the code I added underneath the plugin configuration ...

      boolean soapActionHeaderEnabled = env.getConfigBoolean(CONFIG_HEADER_DATA_ENABLED);

      HttpMethodBase httpMethod = createHttpMethod(config);
      if (soapActionHeaderEnabled) {
      String soapActionHeader = env.getConfigString(CONFIG_HEADER_DATA);
      log.info("SOAPAction Header set to: " + soapActionHeader);
      httpMethod.setRequestHeader("SOAPAction", soapActionHeader);
      }

      com.dynatrace.diagnostics.plugin.SOAPMonitor_6.1.0.7865.jar

      Thanks!

      Chuck

  13. Anonymous (login to see details)

    Does anyone have experience using variables or arrays in SOAP monitor? I am trying to create a random message ID. So instead of using a constant like this, 

    <ns3:applicationNumber>123456789</ns3:applicationNumber>

    I would like to use something like this:

    ${=java.util.UUID.randomUUID()}

    "${=org.apache.commons.lang.RandomStringUtils.randomNumeric(10)}"

    Neither of these work for me. 

     

     
    1. Anonymous (login to see details)

      Jiri,

      This is definitely not part of the plugin at the moment.  Let me see how easy it would be to add this functionality.

      Thanks!

      Chuck

    2. Anonymous (login to see details)

      Jiri,

      So I updated the SOAP Plugin to do what you want.  With this version ...

      https://community.dynatrace.com/community/download/attachments/61833233/com.dynatrace.diagnostics.plugin.SOAPMonitor_6.1.0.7870.jar?api=v2

      You can add random UUID, Float, int, Double, Gaussian, and/or Long substitution tags into the SOAP Body. The tags below will be searched and replaced with their commensurate random generations. Multiple tags can be specified within the SOAP body as well as multiple types.  There is a configuration element called SOAP Envelope Substitution Mode in the configuration of the Plugin.  You can select the specific substitution you are interested in or specify "All" 

      UUID -> ${=java.util.UUID.randomUUID()}
      Float -> ${=java.util.Random.nextFloat()}
      int -> ${=java.util.Random.nextInt()}
      Double -> ${=java.util.Random.nextDouble()}
      Gaussian -> ${=java.util.Random.nextGaussian()}
      Long -> ${=java.util.Random.nextLong()}

      For example, a SOAP body like this ...

      <?xml version="1.0" encoding="utf-8"?>
      <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
      <soap:Body>
      <FahrenheitToCelsius xmlns="http://www.w3schools.com/xml/">
      <Fahrenheit>${=java.util.UUID.randomUUID()}</Fahrenheit>
      </FahrenheitToCelsius>
      </soap:Body>
      </soap:Envelope>
      <FahrenheitToCelsius xmlns=\"http://www.w3schools.com/xml/\">

      Would look like this just before the request is sent ...

      <?xml version="1.0" encoding="utf-8"?>
      <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
      <soap:Body>
      <FahrenheitToCelsius xmlns="http://www.w3schools.com/xml/">
      <Fahrenheit>66bb867c-3179-49b7-a385-bebc6455f03d</Fahrenheit>
      </FahrenheitToCelsius>
      </soap:Body>
      </soap:Envelope>

      Please test it and let us know if it works properly.  

       

      Thanks!

      Chuck 

       

  14. Anonymous (login to see details)

    Hi all,

    I configured the SOAP plugin and I am trying to match content on a page on Dynatrace App Mon 6.5.4. However I am getting a HTTP 415 response code (Media type is not supported). I have documented the issue here

    Can you please let me know what I might be configuring incorrectly? I also turned up the log level to FINE, but it does not provide any insight into the HTTP 415 issue.

    I appreciate your help.

    Regards,

    Harshal.

    1. Anonymous (login to see details)

      All,

      I was able to get this working. I tried the same request in SOAP UI and verified that it is working in SOAP UI. That resolved the HTTP 415 issue.

      Thanks,

      Harshal.

  15. Anonymous (login to see details)

    Hi All,

    The SOAP Monitor is returning a 500 error in AppMon but is running properly in SOAP UI. I attached the support archive to provide the log information. Are  there anymore suggestions on troubleshooting? The monitor is in the "Monitors" system profile and is using Collector 1. SOAP Plugin Returning 500.supportarchive.zip 

    Thanks,

    Lawrence

     

    1. Anonymous (login to see details)

      Lawrence,

      Looks like from the log file that the invocations are executing properly (i.e. https+ignorecert://prdesb.amfam.com/ccx/cc-router/BillingCenterInvokerService/plbillingcenter).  Can you provide a screenshot of the SOAP Monitor configuration you are running and also, the SOAP envelope?  

      A screenshot of this is what I'm looking for ...

      And the SOAP envelope would be something like this ...

      <?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><Add xmlns="http://tempuri.org/"><intA>int</intA><intB>int</intB></Add></soap:Body></soap:Envelope>

       

      Thanks!

       

      Chuck

  16. Anonymous (login to see details)

    Hi Chuck,

     

    After building more SOAP monitors there are 2 issues

    1. SOAP monitors with no authentication are returning 500 errors, example: http://prdesb.amfam.com/ccx/cc-router/EwsProcessService

     

     

    SOAP Envelope

    <?xml version="1.0" encoding="utf-8"?>

    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:con="http://controller.ewsng.workflow.amfam.com" xmlns:v1="http://schema.amfam.com/xsd/automation/ping/v1">

    <soapenv:Header/>

       <soapenv:Body>

          <con:ping>

             <con:PingInput>

                <v1:pingLevel>None</v1:pingLevel>

             </con:PingInput>

          </con:ping>

       </soapenv:Body>

    </soapenv:Envelope>


    2.   SOAP monitors with authentication are returning HTTP 200 Codes but are not finding the content to verify on, Example: https://prdssg.amfam.com/policysearch/v1/*

    • I believe this because the key and certificate are not loaded on the Dynatrace server yet but I am waiting to get this information. Does this sound correct based on the certification error seen in the Log Snapshot at the bottom of this post?


    SOAP Envelope

    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ping="http://schema.amfam.com/ping">

       <soapenv:Header/>

       <soapenv:Body>

          <ping:ping ping:automationSchemaSourceTool="CVS" ping:automationSchemaProject="svcartfct" ping:automationSchemaVersion="Ping12022009" ping:serviceSourceTool="CVS" ping:serviceProject="claimservice" ping:serviceVersion="1.0">

             <ping:PingInput>

                <ping:pingLevel>None</ping:pingLevel>

             </ping:PingInput>

          </ping:ping>

       </soapenv:Body>

    </soapenv:Envelope>

     

    Log Snapshot

     

    Full log fileSOAP Plugin Issues.supportarchive.zip

     

    Thanks, 

    Lawrence

  17. Anonymous (login to see details)

    Hi all,

    We have disabled comments on this plugin page.

    Please use the AppMon & UEM Plugins forum for questions about this plugin.

    Sorry to interrupt ongoing discussions. Please re-post your last question in AppMon & UEM Plugins forum.