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

时间:2009-01-13 15:42:20

标签: c# soap service

我有一个项目,我用wsdl.exe创建了Web服务代理类,然后简单地创建该类的实例(继承System.Web.Services.Protocols.SoapHttpClientProtocol)并调用应该发送SOAP消息的方法。如果重要的话,我正在使用Visual Studio 2008。我正在我的开发机器中尝试这个,而无法访问位于客户内部网内部的实际Web服务。因此,发送当然不会成功,我不会得到任何回复,但我希望看到的是此解决方案创建并尝试发送的SOAP消息的确切内容。我怎么看?

5 个答案:

答案 0 :(得分:6)

使用fiddler

答案 1 :(得分:3)

从eviware.com看一下SOAPUI。

免费提供个人使用的Java应用程序。除此之外你还可以 将其设置为作为虚拟测试服务器运行。只需加载hte WSDL 并输入虚拟数据。

在测试服务器模式下,它会记录您的请求,以便您可以看到发生了什么 在请求消息中。

答案 2 :(得分:1)

如果您通过明文非SSL HTTP访问Web服务,则可以使用嗅探器(如Wireshark)查看来自应用程序的数据。 Wireshark可以跟踪,过滤和分析线数据。我已经多次使用它调试HTTP和其他协议,这是一个很好的工具。

答案 3 :(得分:0)

SOAP消息只是使用HTTP POST方法发送的XML数据。因此,您可以在开发计算机上安装本地Web服务器,将Web服务配置为在此服务器上使用一些虚拟URI,并使用WireShark(AKA ethereal)获取网络流量。这种方法的最大优点是它不涉及编码。

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

答案 4 :(得分:0)

您可以使用tcpMon

拦截来电