如何查看客户端应用发送的SOAP数据?

6

我有一个项目,使用wsdl.exe创建了web服务代理类,然后简单地创建该类的实例(继承自System.Web.Services.Protocols.SoapHttpClientProtocol),并调用应该发送SOAP消息的方法。如果相关,请注意我正在使用Visual Studio 2008。我正在尝试在没有访问客户内部网中实际Web服务的情况下在我的开发机器上进行此操作。因此,发送将无法成功,我将无法收到任何响应,但我想看到的仅是此解决方案创建并尝试发送的SOAP消息的确切内容。我该如何查看?

5个回答

6

我的编辑比我想象中更混乱... 我本来想让它显示“fiddler”。 - Stephen Denne

3
请看来自eviware.com的SOAPUI。
这是一个免费供个人使用的Java应用程序。除其他功能外,您可以将其设置为运行为虚拟测试服务器。只需加载WSDL并输入虚拟数据即可。
在测试服务器模式下,它将记录您的请求,以便您可以查看请求消息内部发生了什么。

1
如果您的 Web 服务是通过明文、非 SSL HTTP 访问的,您可以使用像 Wireshark 这样的嗅探器来查看从应用程序发送和接收的数据。Wireshark 可以跟踪、过滤和分析线路数据。我经常使用它来调试 HTTP 和其他协议,这是一个非常好的工具。

1

SOAP消息只是使用HTTP POST方法发送的XML数据。因此,您可以在开发机器上安装本地Web服务器,将Web服务配置为在此服务器上使用某些虚拟URI,并使用WireShark(又名Ethereal)抓取网络流量。这种方法的最大优点是不需要编码。

或者,您可以使用一个HTTP回显服务器来转储其传入流量,例如this one(在谷歌搜索“http echo server”时找到):


0

您可以使用tcpMon拦截调用


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接