我正在寻找一种工具或技术来查看从供应商的服务器发布到我的IIS6服务器上托管的ASMX Web服务的传入XML数据包。
像Fiddler,但在服务器端。 Fiddler会这样工作吗?
答案 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。