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

时间:2011-01-26 17:29:13

标签: xml web-services iis-6 asmx

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

像Fiddler,但在服务器端。 Fiddler会这样工作吗?

2 个答案:

答案 0 :(得分:1)

我假设您所谓的“供应商服务器”实际上是Web服务客户端,在您的服务器上调用Web服务?

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

您的捕获过滤器类似于:tcp port http and host stackoverflow.com

作为显示过滤器,您可以使用:http.request or http.response

(可能更简单,我是WireShark newb)

答案 1 :(得分:1)

是的,fiddler将在服务器端工作。如果您通过托管Web服务的w3wp.exe进程对其进行过滤,它会更好。

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

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