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.
Full Request URI
- In the Wireshark Trace, select the line that lists the Source as the Core's IP
- Expand Hypertext Transfer Protocol
- The Full request URIwill be the the address we are trying to reach for the test
- Example: PolicySync calls http://96-core3.evdomain.local/ApmService/PolicyRequest.asmx
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
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
- Example: PolicySync.exe passed parameter values for
- 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
<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'
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
- Click Get
- The form will display Messages about the connection
- Once connected, under the Invoke tab, there will be a list of returned Applications
- Select the Requested Applicationto test
- Example: When running PolicyRequest.exe, it sent a request to RequestClientPolicies
- 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>
Note: The ldapUserGroups Parameter showed in wireshark as including multiple records. Selecting this Parameter and changing the Length value will provide additional fields.
- Once the Parameter values are filled out, click Invoke
- The Output section will contain the SOAP Response
Note: The Request/Response tab lists the SOAP information in XML that can be copy/pasted.