2

我必须制作可以与 Web 服务一起使用的桌面客户端。客户在.wsdl(服务合同)和.xsd(数据合同)中提供。我已经用 svcutil.exe 生成了客户端。而且我有想法在客户端处于调试模式时以原始格式写入所有请求/响应(就像它可以在 Fiddler2 中捕获但通过代码一样)写入日志文件。你能给我任何关于如何做到这一点的进展,或者只是让我转向正确的方向。

我生成的服务是 System.ServiceModel.ClientBase 的实现。

多谢。

4

2 回答 2

2

您应该能够使用 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

于 2013-07-25T10:59:55.123 回答
2

你有三个选择,

第一:由于您有 wsdl,您可以使用 SoapUI 生成代理并更改请求并运行它将显示详细的响应。

第二:由于您使用的是 .net 客户端,您可以将流程附加到第三方工具。例如HttpAnalyser

第三:如果你买不到第三方软件,可以使用wireshark抓取任何协议内容。

于 2013-07-26T16:41:39.810 回答