gpt4 book ai didi

asp.net-core - .NetStandard 或 .NET core 中的 WSHttpBinding

转载 作者:行者123 更新时间:2023-12-01 18:20:34 25 4
gpt4 key购买 nike

我想将 NMVS 协议(protocol)集成到我的应用程序中,该应用程序提供用于测试的 wsdl 文件,该文件是在 .net 框架库中编写的示例代码。

我想在 .netstandard、.netcore 或 UWP 应用程序中测试它,但 wsdl 文件仅支持“WSHttpBinding”,而 .netstandard、.net core 和 UWP 不支持它。

 <wsdl:binding name="WSHttpBinding_ISinglePackServices" type="ns:ISinglePackServices">



WSHttpBinding binding = new WSHttpBinding();
binding.Security.Mode = SecurityMode.Transport;
binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Certificate;

我使用了 basichttpbinding,但收到错误消息“响应消息的内容类型 application/soap+xml; charset=UTF-8 与绑定(bind)的内容类型不匹配 (text/xml; charset=utf- 8)。”

还有哪些其他方法可以解决此问题?

谢谢伊姆兰坎

最佳答案

这是您问题的解决方案:

var transportSecurityBinding = new BasicHttpBinding();
transportSecurityBinding.Security.Mode = BasicHttpSecurityMode.Transport;
transportSecurityBinding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Certificate;

var customTransportSecurityBinding = new CustomBinding(transportSecurityBinding);

var textBindingElement = new TextMessageEncodingBindingElement
{
MessageVersion = MessageVersion.CreateVersion(EnvelopeVersion.Soap12, AddressingVersion.None)
};

// Replace text element to have Soap12 message version
customTransportSecurityBinding.Elements[0] = textBindingElement;

关于asp.net-core - .NetStandard 或 .NET core 中的 WSHttpBinding,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53321927/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com