【发布时间】:2011-05-09 08:39:38
【问题描述】:
我正在为服务(不是 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;
【问题讨论】:
-
为什么需要去掉表头?您在客户端中使用什么绑定?提到的标头来自 WS-Addressing,也可以在 WCF 中打开。
-
服务不喜欢标题。得到这个异常 System.ServiceModel.ProtocolException: Unprocessed 'mustUnderstand' header element: {w3.org/2005/08/addressing}Action。在问题中添加了我的自定义绑定代码
标签: wcf soap wcf-client soapheader