.net 记录SOAP请求和响应

.net 记录SOAP请求和响应,.net,web-services,wcf,.net,Web Services,Wcf,我已经向我的应用程序添加了一个服务引用,并随后生成了相应的代理类 在我的代码中,我使用这些代理类来生成服务调用并解析结果 由于.Net负责HTTP/HTTPS请求和响应的绑定,因此我无法查看系统生成的确切SOAP请求 如何记录系统生成的原始http请求和响应,特别是使用Trace.log,而不必使用Fiddler、Wireshark或任何其他反向代理 更新 值得一提的还有以下事实: 我正在使用Visual Studio Professional 2013 我使用的服务是由第三方托管和拥有的JA

我已经向我的应用程序添加了一个服务引用,并随后生成了相应的代理类

在我的代码中,我使用这些代理类来生成服务调用并解析结果

由于.Net负责HTTP/HTTPS请求和响应的绑定,因此我无法查看系统生成的确切SOAP请求

如何记录系统生成的原始http请求和响应,特别是使用Trace.log,而不必使用Fiddler、Wireshark或任何其他反向代理

更新 值得一提的还有以下事实:

  • 我正在使用Visual Studio Professional 2013
  • 我使用的服务是由第三方托管和拥有的JAX-WS服务。这是我无法控制的
  • 我从类库调用该服务,该类库从ASP.NETMVC应用程序(托管在IIS7.5上)调用
  • .Net Framework 4.5

看看IClientMessageInspector接口的实现,它公开了两种方法

AfterReceivePly允许在收到回复消息后但在将其传回客户端应用程序之前检查或修改消息

BeforeSendRequest允许在将请求消息发送到服务之前检查或修改消息

这里有一篇博客文章描述了一个将消息读入原始xml的实现,希望您能够根据自己的需要修改它

即使您调用的web服务是外部web服务,您也应该能够使用下面的IClientMessageInspector解决方案。如果您添加了一个服务引用,它仍然是正在生成的WCF代理,那么您将在配置中得到一个端点引用,并且您应该能够为此配置端点行为endpoint@BunkerMentality谢谢我要试一试。我知道代理正在生成,我只是不确定它是否是WCF代理。