How to view ASMX SOAP using Fiddler2?
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&g开发者_JAVA百科t;
<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.
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.
Fiddler doesn't know anything about SOAP. It's showing you what's on the wire.
精彩评论