修改WCF客户端中的SOAP标头Mustunderstand属性
我正在为服务(不是 WCF)编写 WCF 客户端。收到未处理的“mustUnderstand”标头元素错误:{http://www.w3.org/2005/08/addressing}操作,因为请求 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;
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;
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我通过将 AddressingVersion 设置为 None(不放置 SOAP 标头)解决了这个问题。
这是代码
I resolved this one by setting AddressingVersion to None that did not put the SOAP headers.
here is the code
指定 messageVersion 解决了我的问题。
Specifying the messageVersion solved my problem.
<mtomMessageEncoding messageVersion="Soap12"/>