How to test SOAP Requests

Version 4

    Purpose

     

    This document outlines how to obtain SOAP request and response information. This can be useful when testing IIS Connection issues.

     

    Programs Needed

     

    This document will make use of Wireshark and WebService Studio.

     

    Capture a SOAP Request/Response with Wireshark

     

    • Install Wireshark on the client machine to test with
    • Begin a trace of network traffic
    • Perform the task that issues the SOAP request
      • Example: Run C:\Program Files (x86)\LANDesk\LDClient\PolicySync.exe to request policies for the client machine
    • Stop the Wireshark capture
    • Apply the filter: ip.addr == {core ip address} && http
      • This will show the Post to the Core, and the Response from the Core.

    wireshark_1-filter.png

     

    Full Request URI

     

    wireshark_2-uri.png

     

     

    Requested Application

     

    • In the Wireshark Trace, select the line that lists the Source as the Core's IP
    • Expand the eXtensible Markup Language | <soap:Envelope | <soap:Body> |
    • The value listed below the <soap:Bodyis the specific application that was requested
      • Example: PolicySync.exe called for RequestClientPolicies

    wireshark_3-requesttype.png

     

    SOAP Request Parameters

     

    • In the Wireshark Trace, select the line that lists the Source as the Core's IP
    • Expand the eXtensible Markup Language | <soap:Envelope | <soap:Body> |
    • Below the Requested Applicationare the SOAP Request Parametersthat were used
      • Example: PolicySync.exe passed parameter values for
        • nonce
        • inventoryId
        • ldapUser
        • ldapUserGroups
        • ldapMachine
        • ldapMachineGroups

     

    wireshark_4-parameters.png

     

     

    • Right click the Requested Application and choose Copy | Bytes | Printable Text Only
      • This will give a plain text copy of the xml that includes the SOAP Request Parameters

     

    wireshark_5-copy.png

     

     

    <RequestClientPolicies xmlns="http://tempuri.org/">
          <nonce>3buvLh8LDbMFL+BFL32/fw==</nonce>
          <inventoryId>{fe495d5d-404a-234c-9cab-697f258e8db7}</inventoryId>
          <ldapUser>CN=Nevans,CN=Users,DC=evdomain,DC=local</ldapUser>
          <ldapUserGroups>
            <string>CN=Domain Admins,CN=Users,DC=evdomain,DC=local</string>
            <string>CN=Denied RODC Password Replication Group,CN=Users,DC=evdomain,DC=local</string>
            <string>CN=Administrators,CN=Builtin,DC=evdomain,DC=local</string>
            <string>CN=Enterprise Admins,CN=Users,DC=evdomain,DC=local</string>
            <string>CN=Users,CN=Builtin,DC=evdomain,DC=local</string>
            <string>CN=Administrators,CN=Builtin,DC=evdomain,DC=local</string>
            <string>CN=Domain Users,CN=Users,DC=evdomain,DC=local</string>
          </ldapUserGroups>
          <ldapMachine>CN=96-AGENT,CN=Computers,DC=evdomain,DC=local</ldapMachine>
          <ldapMachineGroups>
            <string>CN=Domain Computers,CN=Users,DC=evdomain,DC=local</string>
          </ldapMachineGroups>
        </RequestClientPolicies>
     

     

    SOAP Response

     

    • In the Wireshark Trace, select the line that lists the Source as the Client'sIP
    • Expand the eXtensible Markup Language | <soap:Envelope | <soap:Body>
    • The Requested Application will be listed with response information beneath it
      • Example: PolicySync.exe requested 'RequestClientPolicies'

     

    wireshark_6-result.png

     

    Testing SOAP Requests with WebService Studio

    WebService Studio requires .Net 2 and 3. You may be prompted to install this if running on Windows 8 or newer.

     

    • Launch WebServiceStudio.exe
    • In the WSDL EndPoint field, enter the Full Request URI

    studio_1.png

     

    • Click Get
    • The form will display Messages about the connection
    • Once connected, under the Invoke tab, there will be a list of returned Applications

     

    studio_2.png

     

    • Select the Requested Applicationto test
      • Example: When running PolicyRequest.exe, it sent a request to RequestClientPolicies

    studio_3.png

     

    • In the Input section, beneath 'Body', are the SOAP Request Parameter fields
    • Select a variable and enter the Value
      • Example: In our Wireshark trace, we listed the nonce Parameter as:<nonce>3buvLh8LDbMFL+BFL32/fw==</nonce>

    studio_4.png

     

    Note: The ldapUserGroups Parameter showed in wireshark as including multiple records. Selecting this Parameter and changing the Length value will provide additional fields.

     

    studio_5.png

     

    • Once the Parameter values are filled out, click Invoke
    • The Output section will contain the SOAP Response

    studio_6.png

     

    Note: The Request/Response tab lists the SOAP information in XML that can be copy/pasted.

     

    studio_7.png