Modify SOAP header Mustunderstand attribute in WCF

2019-04-02 19:34发布

I am writing a WCF client for a service (not WCF). Getting an error that Unprocessed 'mustUnderstand' header element: {http://www.w3.org/2005/08/addressing}Action, because request SOAP contains header with mustunderstand='true'. I have to either set it false or remove the whole header. can you show the way to do that?

Here is the binding code

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;

2条回答
贼婆χ
2楼-- · 2019-04-02 19:49

Specifying the messageVersion solved my problem. <mtomMessageEncoding messageVersion="Soap12"/>

查看更多
祖国的老花朵
3楼-- · 2019-04-02 19:52

I resolved this one by setting AddressingVersion to None that did not put the SOAP headers.

here is the code

MessageVersion.CreateVersion(EnvelopeVersion.Soap11, AddressingVersion.None)
查看更多
登录 后发表回答