我必须制作可以与 Web 服务一起使用的桌面客户端。客户在.wsdl
(服务合同)和.xsd
(数据合同)中提供。我已经用 svcutil.exe 生成了客户端。而且我有想法在客户端处于调试模式时以原始格式写入所有请求/响应(就像它可以在 Fiddler2 中捕获但通过代码一样)写入日志文件。你能给我任何关于如何做到这一点的进展,或者只是让我转向正确的方向。
我生成的服务是 System.ServiceModel.ClientBase 的实现。
多谢。
我必须制作可以与 Web 服务一起使用的桌面客户端。客户在.wsdl
(服务合同)和.xsd
(数据合同)中提供。我已经用 svcutil.exe 生成了客户端。而且我有想法在客户端处于调试模式时以原始格式写入所有请求/响应(就像它可以在 Fiddler2 中捕获但通过代码一样)写入日志文件。你能给我任何关于如何做到这一点的进展,或者只是让我转向正确的方向。
我生成的服务是 System.ServiceModel.ClientBase 的实现。
多谢。
您应该能够使用 SOAPExtensions 来捕获消息流,包括请求标头。您需要在 app.config 中配置您的扩展。
请参阅此示例中的图 4:http: //msdn.microsoft.com/en-us/magazine/cc164007.aspx
以下是如何开始: http: //msdn.microsoft.com/en-us/library/s25h0swd (v=vs.100).aspx
你有三个选择,
第一:由于您有 wsdl,您可以使用 SoapUI 生成代理并更改请求并运行它将显示详细的响应。
第二:由于您使用的是 .net 客户端,您可以将流程附加到第三方工具。例如HttpAnalyser
第三:如果你买不到第三方软件,可以使用wireshark抓取任何协议内容。