How to view ASMX SOAP using Fiddler2

asmxfiddlersoap

Does anyone know if Fiddler can display the raw SOAP messages for ASMX web services? I'm testing a simple web service using both Fiddler2 and Storm and the results vary (Fiddler shows plain xml while Storm shows the SOAP messages). See sample request/responses below:

Fiddler2 Request:

POST /webservice1.asmx/Test HTTP/1.1
Accept: */*
Referer: http://localhost.:4164/webservice1.asmx?op=Test
Accept-Language: en-us
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; InfoPath.2; MS-RTC LM 8)
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
Host: localhost.:4164
Content-Length: 0
Connection: Keep-Alive
Pragma: no-cache

Fiddler2 Response:

HTTP/1.1 200 OK
Server: ASP.NET Development Server/9.0.0.0
Date: Thu, 21 Jan 2010 14:21:50 GMT
X-AspNet-Version: 2.0.50727
Cache-Control: private, max-age=0
Content-Type: text/xml; charset=utf-8
Content-Length: 96
Connection: Close
<?xml version="1.0" encoding="utf-8"?>
<string xmlns="http://tempuri.org/">Hello World</string>

Storm Request (body only):

<?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>
    <Test xmlns="http://tempuri.org/" />
  </soap:Body>
</soap:Envelope>

Storm Response:

 Status Code: 200
 Content Length : 339
 Content Type: text/xml; charset=utf-8
 Server: ASP.NET Development Server/9.0.0.0
 Status Description: OK

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

Thanks for any help.

Best Answer

The response is different because the requests are different. Your Fiddler2 request contains no content and no SOAP headers, so the response it gets is the standard XML response.

Your Storm request, on the other hand, is posting a SOAP request body (and, I assume, SOAP request headers despite them not being included). Because the webservice was called using SOAP, the response will be SOAP.

Related Topic