Modify SOAP header Mustunderstand attribute in WCF client

Amzath picture Amzath · Nov 12, 2010 · Viewed 7.7k times · Source

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;

Answer

Amzath picture Amzath · Nov 24, 2010

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)