6

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

4

5 回答 5

6

使用提琴手

于 2009-01-13T15:46:04.140 回答
3

看看来自 eviware.com 的 SOAPUI。

它是一个免费供个人使用的 Java 应用程序。除其他外,您可以将其设置为作为虚拟测试服务器运行。只需加载 hte WSDL 并输入虚拟数据。

在测试服务器模式下,它将记录您的请求,以便您可以查看请求消息中发生的情况。

于 2009-01-13T15:48:10.483 回答
1

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

于 2009-01-13T15:47:10.283 回答
1

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

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

于 2009-01-13T15:58:55.610 回答
0

您可以使用tcpMon拦截呼叫

于 2009-01-13T20:32:46.947 回答