寻找一种方法来查看发送到我的服务器上的Web服务的XML数据包

问题描述:

我正在寻找一种工具或技术来查看从供应商的服务器发布到我的IIS6上托管的ASMX Web服务的传入XML数据包服务器。寻找一种方法来查看发送到我的服务器上的Web服务的XML数据包

有点像Fiddler,但在服务器端。菲德勒会这样工作吗?

是,小提琴手将在服务器端工作。如果通过承载Web服务的w3wp.exe进程对其进行过滤,它将会更好。

但是,更好的方法是将Web服务本身的跟踪转向。根据框架的版本,您可以通过web.config启用跟踪:Enabling Tracing in ASP.NET Web Services,或者在更糟糕的情况下,您可以编写或查找SOAP挂钩以注销连接。最后一个选项效果很好,但它不是一个快速修复。

有关使用SOAP扩展挂钩消息并为您执行日志记录的示例,请查看此处提供的示例SoapExtension Class。然后,您只需将扩展名添加到您的web.config的soapExtensionTypes Element

+0

他正在使用ASMX。没有好的跟踪。 – 2011-01-26 19:02:03

我假设你称之为'供应商的服务器'实际上是Web服务客户端,在你的服务器上调用Web服务?

我不知道小提琴手,但Wireshark会告诉你任何和所有的网络流量。 使用过滤器,您可以使用它来捕获供应商的客户端和您自己的PC之间的所有HTTP流量。我发现它在调试中非常有用。

你捕获过滤器会是这样的:tcp port http and host *.com

而作为一个显示过滤器,你可以使用:http.request or http.response

(也可能是简单的东西,我是Wireshark的福利局)