我有一个WCF服务应用程序,在这个应用程序中,我通过安全连接调用第三方Web服务.
我一直在尝试使用fiddler来查看请求响应流,但是在尝试了半天以上的应用程序后,我已经放弃了它.虽然我向受信任区域提供了更多的小提琴证书,但它有证书问题.
如果只是看到我对第三方Web服务的xml请求和响应,我最好的选择是什么?
我正在使用生成的代理类,所以我目前无法访问我发送和接收的原始xml.我很好奇,如果我过度复杂化可以做得更简单的事情.这是我的开发机器,我几乎可以访问所有内容,没有任何限制.
请问一个简单的方法吗?
编辑:
此时我甚至不需要使用跟踪.我只需要查看请求/响应的序列化输出.即使我可以从Visual Studio调试器或其他这样做这将有所帮助.
解决方法
使用
WCF Tracing – 它运作良好,并配有方便的
trace viewer utility.
您可以设置多个选项 – 但在其核心,您必须将这样的内容添加到您的WCF服务和客户端配置:
<configuration> <system.diagnostics> <sources> <source name="System.ServiceModel" switchValue="Information,ActivityTracing" propagateActivity="true"> <listeners> <add name="traceListener" type="System.Diagnostics.XmlWriterTraceListener" initializeData= "c:\log\Traces.svclog" /> </listeners> </source> </sources> </system.diagnostics> </configuration>
开箱即用的是各种“跟踪侦听器” – 一个写入Visual Studio中的输出控制台,这一个是创建XML文件,或者您可以将内容存储在sql Server数据库表中 – 整个机制是可扩展的,你也可以编写自己的跟踪监听器!
另见:Using of WCF Trace和WCF Tracing FAQ获取更多信息.