记录SOAP请求和响应

时间:2015-04-15 09:43:49

标签: .net web-services wcf

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

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

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

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

更新

值得一提的是以下事实:

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

1 个答案:

答案 0 :(得分:3)

看看实现IClientMessageInspector接口,它暴露了两个方法

AfterReceiveReply 在收到回复消息后但在将消息传回客户端应用程序之前,启用对消息的检查或修改。

BeforeSendRequest 在将请求消息发送到服务之前启用对消息的检查或修改。

https://msdn.microsoft.com/en-us/library/System.ServiceModel.Dispatcher.IClientMessageInspector(v=vs.110).aspx

这是一篇博客文章,描述了将消息读入原始xml的实现,希望您能够根据自己的需要进行更改 http://westdiscgolf.blogspot.ie/2012/09/debugging-wcf-messages-before.html