我正在为服务(而不是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;
答案 0 :(得分:3)
我通过将AddressingVersion设置为None而没有放置SOAP标头来解决这个问题。
这是代码
MessageVersion.CreateVersion(EnvelopeVersion.Soap11, AddressingVersion.None)
答案 1 :(得分:1)
指定messageVersion解决了我的问题。
<mtomMessageEncoding messageVersion="Soap12"/>