2

我正在为服务(不是 WCF)编写 WCF 客户端。收到未处理的“mustUnderstand”标头元素的错误:{http://www.w3.org/2005/08/addressing}Action,因为请求 SOAP 包含带有 mustunderstand='true' 的标头。我必须将其设置为 false 或删除整个标题。你能展示一下这样做的方法吗?

这是绑定代码

var transportElement = new HttpsTransportBindingElement();
        transportElement.AuthenticationScheme = AuthenticationSchemes.Basic;

        var messegeElement = new TextMessageEncodingBindingElement();
        messegeElement.MessageVersion = MessageVersion.CreateVersion(EnvelopeVersion.Soap11);

        var binding = new CustomBinding(messegeElement, transportElement);
        return binding;
4

2 回答 2

5

我通过将未放置 SOAP 标头的 AddressingVersion 设置为 None 解决了这个问题。

这是代码

MessageVersion.CreateVersion(EnvelopeVersion.Soap11, AddressingVersion.None)
于 2010-11-24T19:38:45.400 回答
1

指定 messageVersion 解决了我的问题。 <mtomMessageEncoding messageVersion="Soap12"/>

于 2014-01-25T16:59:27.483 回答