如何使用Fiddler2查看ASMX SOAP?

时间:2010-01-27 15:27:54

标签: soap asmx fiddler

有人知道Fiddler是否可以显示ASMX Web服务的原始SOAP消息?我正在使用Fiddler2和Storm测试一个简单的Web服务,结果各不相同(Fiddler显示简单的xml,而Storm显示SOAP消息)。请参阅以下示例请求/回复:

Fiddler2请求:

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回复:

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>

风暴请求(仅限正文):

<?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>

风暴响应:

 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>

感谢您的帮助。

2 个答案:

答案 0 :(得分:3)

响应不同,因为请求不同。您的Fiddler2请求不包含任何内容,也不包含SOAP标头,因此它获得的响应是​​标准的XML响应。

另一方面,您的Storm请求正在发布SOAP请求正文(并且,我假设,SOAP请求标头尽管没有包含它们)。因为Web服务是使用SOAP调用的,所以响应将是SOAP。

答案 1 :(得分:1)

Fiddler对SOAP一无所知。它会告诉你电线是什么。