记录服务SOAP请求和响应

本文关键字:求和 响应 请求 SOAP 服务 记录 | 更新日期: 2023-09-27 18:06:26

我正在尝试用c#记录服务的soap请求和响应消息。我有一个现成的肥皂扩展,它可以做到这一切,但是我有麻烦将它添加到服务方法。

因为我在我的VS项目中添加了一个服务引用,而不是一个web服务引用,当我检查这个服务的引用文件时,我没有看到调用远程服务的方法。我看到的所有例子都是添加到web服务,它有不同的参考格式。

在这种情况下我如何记录soap消息?

记录服务SOAP请求和响应

Soap扩展仅用于使用基于ASMX的服务或客户端=添加web引用。一旦您使用了添加服务引用,您将使用WCF客户端API,而不能使用Soap扩展。您必须创建消息检查器。

如果您只需要用于调试目的的消息记录,您可以使用内置的WCF消息记录。

还有另一种查看XML SOAP的方法——自定义MessageEncoder。与IDispatchMessageInspector/IClientMessageInspector的主要区别在于,它工作在较低的级别,因此它捕获原始字节内容,包括任何格式错误的xml。

为了使用这种方法实现跟踪,您需要将标准textMessageEncoding与自定义消息编码器包装为新的绑定元素,并将该自定义绑定应用于配置中的端点。

你也可以看到作为例子,我是如何做到这一点在我的项目-包装textMessageEncoding,日志编码器,自定义绑定元素和配置