我有一个WCF服务应用程序,在这个应用程序中,我通过安全连接调用第三方Web服务.
我一直在尝试使用fiddler来查看请求响应流,但是在尝试了半天以上的应用程序后,我已经放弃了它.虽然我向受信任区域提供了更多的小提琴证书,但它有证书问题.
如果只是看到我对第三方Web服务的xml请求和响应,我最好的选择是什么?
我正在使用生成的代理类,所以我目前无法访问我发送和接收的原始xml.我很好奇,如果我过度复杂化可以做得更简单的事情.这是我的开发机器,我几乎可以访问所有内容,没有任何限制.
请问一个简单的方法吗?
编辑:
此时我甚至不需要使用跟踪.我只需要查看请求/响应的序列化输出.即使我可以从Visual Studio调试器或其他这样做这将有所帮助.
使用WCF跟踪 - 它运行良好,并附带一个方便的跟踪查看器实用程序.
您可以设置多个选项 - 但在其核心,您必须将这样的内容添加到您的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数据库表中 - 整个机制是可扩展的,你也可以编写自己的跟踪监听器!
另请参阅此处:使用WCF跟踪和此处的WCF跟踪常见问题解答以获取更多信息.
由于我试图从引用我的 WCF 应用程序的 asmx Web 服务读取肥皂消息,因此问题的解决方案是创建一个继承自 System.Web.Services.Protocols.SoapExtension 的类,注册该类在 web.config 中,以便所有流量都通过此类路由并查看。
所有这些通信都不会显示在 WCF 跟踪中,因此这还不够。然而,我学习它很有用,所以现在我能够看到我的 wcf 服务应用程序和 Web 应用程序之间发生的所有事情。
这篇文章为我解决了如何在使用网络服务时捕获肥皂信封
| 归档时间: | 
 | 
| 查看次数: | 12589 次 | 
| 最近记录: |