修改SOAP头WCF客户端中的Mustunderstand属性
问题描述:
我正在为一个服务(不是WCF)编写一个WCF客户端。获取未处理'mustUnderstand'标题元素的错误:{http://www.w3.org/2005/08/addressing}Action,因为请求SOAP包含mustunderstand ='true'的标头。我必须将其设置为false或删除整个标题。你可以展示如何做到这一点?修改SOAP头WCF客户端中的Mustunderstand属性
这里是绑定代码
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;
答
我解决了这个一个通过设置AddressingVersion到无未把SOAP头。
这里是代码
MessageVersion.CreateVersion(EnvelopeVersion.Soap11, AddressingVersion.None)
+0
中添加了我的自定义绑定代码这是多年后,这似乎仍然是一个问题。但是,此修复程序对我无效。 Mustunderstand =“1”仍然存在于我的安全头文件中。 – 2017-12-07 16:07:29
答
指定messageVersion解决我的问题。 <mtomMessageEncoding messageVersion="Soap12"/>
为什么你需要删除标题?你在客户端使用什么绑定?提示的标题来自WS-Addressing,它也可以在WCF中打开。 – 2010-11-13 18:38:17
服务不喜欢标题。获取此异常System.ServiceModel.ProtocolException:未处理的'mustUnderstand'标题元素:{http://www.w3.org/2005/08/addressing}Action。在问题 – Amzath 2010-11-15 16:24:38