我必须制作可与网络服务配合使用的桌面客户端。客户端在.wsdl
(服务合同)和.xsd
(数据合同)中提供。我用svcutil.exe生成了客户端。我有想法在客户端处于调试模式时,以Raw格式写入所有请求/响应的日志文件(就像它可以在Fiddler2中捕获但是通过代码)。你能否告诉我如何做到这一点,或者只是让我朝着正确的方向前进。
我生成的服务是System.ServiceModel.ClientBase。
的实现很多。
答案 0 :(得分: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
答案 1 :(得分:2)
你有三个选择,
首先:由于你有wsdl,你可以使用SoapUI生成代理并更改请求并运行它将显示详细的响应。
第二:由于您使用的是.net客户端,因此可以将该过程附加到第三方工具。例如HttpAnalyser
第三:如果您无法购买第三方软件,请使用wireshark来捕获任何协议内容。