有人知道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>
感谢您的帮助。
答案 0 :(得分:3)
响应不同,因为请求不同。您的Fiddler2请求不包含任何内容,也不包含SOAP标头,因此它获得的响应是标准的XML响应。
另一方面,您的Storm请求正在发布SOAP请求正文(并且,我假设,SOAP请求标头尽管没有包含它们)。因为Web服务是使用SOAP调用的,所以响应将是SOAP。
答案 1 :(得分:1)
Fiddler对SOAP一无所知。它会告诉你电线是什么。