【发布时间】:2011-06-16 00:26:54
【问题描述】:
我正在寻找一种工具或技术来查看从供应商的服务器发布到我的 IIS6 服务器上托管的 ASMX Web 服务的传入 XML 数据包。
类似于 Fiddler 但在服务器端。 Fiddler 会这样工作吗?
【问题讨论】:
标签: xml web-services iis-6 asmx
我正在寻找一种工具或技术来查看从供应商的服务器发布到我的 IIS6 服务器上托管的 ASMX Web 服务的传入 XML 数据包。
类似于 Fiddler 但在服务器端。 Fiddler 会这样工作吗?
【问题讨论】:
标签: xml web-services iis-6 asmx
我假设您所谓的“供应商服务器”实际上是 Web 服务客户端,它在您的服务器上调用 Web 服务?
我不认识 fiddler,但Wireshark 会向您显示几乎所有网络流量。 使用过滤器,您可以使用它来捕获供应商客户端和您自己的 PC 之间的所有 HTTP 流量。我发现它在调试时非常有用。
您的捕获过滤器将类似于:tcp port http and host stackoverflow.com
作为显示过滤器,您可以使用:http.request or http.response
(可能更简单,我是 WireShark 新手)
【讨论】:
是的,fiddler 将在服务器端工作。如果您通过托管 Web 服务的 w3wp.exe 进程对其进行过滤,它会更好地工作。
但更好的方法是打开 Web 服务本身的跟踪。根据框架的版本,您可以通过 web.config 启用跟踪:Enabling Tracing in ASP.NET Web Services,或者在更糟糕的情况下,您可以编写或找到一个 SOAP 挂钩来注销连接。最后一个选项效果很好,但不是快速修复。
有关使用 SOAP 扩展连接到消息传递并为您进行日志记录的示例,请查看此处提供的示例,SoapExtension Class。然后你只需将扩展添加到你的 web.config 的soapExtensionTypes Element。
【讨论】: