我正在尝试使用wsHttpBinding调用SOAP1.2服务。该服务接受拒绝默认的 Soap12WSAddressing10 消息版本。它只接受 SOAP12 。
我可以从Internet搜索获得的一个建议是在自定义绑定中创建TextMessageEncodingElement。
如何使用代码或配置完成?
WSHttpBinding myBinding = new WSHttpBinding();
myBinding.Security.Mode = SecurityMode.Transport;
myBinding.Security.Transport.ClientCredentialType =
HttpClientCredentialType.Certificate;
//MessageVersion = SOAP12
在使用自定义wsBinding时,没有建议的占位符来指定消息版本。
<wsHttpBinding>
<binding name="customWS">
<security mode="Transport">
<message clientCredentialType="Certificate"></message>
</security>
</binding>
</wsHttpBinding>
答案 0 :(得分:0)
Soap12通过content-type标头指定soapaction。我认为它不是在网络核心中实现的。我使用以下代码。
var encoding = new TextMessageEncodingBindingElement(MessageVersion.CreateVersion(EnvelopeVersion.Soap12, AddressingVersion.None), Encoding.UTF8);
但这不是在网络核心中实现的。