如何在C#中查看实际的SOAP请求/响应

时间:2013-05-26 09:41:33

标签: c# visual-studio-2010 soap

我在项目中添加了一个wsdl文件作为服务引用。应用程序将SOAP消息发送到特定设备,然后以SOAP格式发送响应。

有没有办法查看XML中包含的实际SOAP消息?必须打开wireshark来查看SOAP消息才会变得乏味。

4 个答案:

答案 0 :(得分:2)

使用Fiddler检查邮件。参考:Using fiddler

答案 1 :(得分:2)

您可以使用SVCTraceViewer跟踪每个服务调用的往返消息。您只需设置配置,WCF就会使用.svclog扩展名构建日志文件。

有关此工具及其相关配置的更多详细信息,请here。这不需要运行任何第三方工具或网络检查员等......这是微软开箱即用的。

答案 2 :(得分:2)

您可能正在寻找SOAP扩展, 看看这篇文章:

Get SOAP Message before sending it to the WebService in .NET

答案 3 :(得分:1)

对于WCF,它具有一种鲜为人知的拦截原始XML的方式-custom MessageEncoder。它工作在较低级别,因此可以捕获实际字节内容,包括格式错误的xml。

如果要使用此方法,则需要将标准textMessageEncoding包装为custom message encoder作为新的binding element,并将该自定义绑定应用于config中的端点。

还有一个示例,说明我在项目中的操作方式- wrapping textMessageEncoding,日志记录encoder,自定义绑定elementconfig