S. *_*nke 6 c# asp.net wcf soap web-services
我的问题如下.我收到了一个在我的.NET 4.7.1 ASP.NET应用程序中实现的WSDL,因此另一家公司可以从我们实现的WSDL调用一个操作.它们需要一些特定的WCF服务设置.
Custom Binding -> Security -> MutualCertificate它.我已经指定了应该使用的服务和客户端证书.(请注意,在WSDL实现不需要WCF,他们说,消费者可以自由地实现它在任何语言.我选择使用WCF,他们有一些关于它的文档,所以我认为它应该得到支持.)
当我直接在SOAP UI中导入他们的WSDL时,它说它使用SOAP 1.1.SOAP 1.1命名空间在WSDL中可见.
当我导入我的服务的WSDL(它依次实现其WSDL生成的接口)时,它使用SOAP 1.2.这是一个不匹配,非常烦人.
我发现这篇文章:https://stackoverflow.com/a/22255554/3013479我试图删除HttpSoap12并添加HttpSoap.我已设置MessageVersion为Soap11WSAddressing10所以它应该使用SOAP1.1 ..但它不起作用.
当我在BasicHTTPBinding没有任何配置的情况下使用该绑定时,它确实使用SOAP 1.1
这是我的约束力:
<customBinding>
<binding>
<textMessageEncoding writeEncoding="utf-8" messageVersion="Soap11WSAddressing10" />
<security
authenticationMode="MutualCertificate"
enableUnsecuredResponse="false"
messageProtectionOrder="EncryptBeforeSign"
includeTimestamp="true"
defaultAlgorithmSuite="TripleDesRsa15"
allowSerializedSigningTokenOnReply="false"
messageSecurityVersion="WSSecurity10WSTrust13WSSecureConversation13WSSecurityPolicy12BasicSecurityProfile10"/>
<httpsTransport requireClientCertificate="true"/>
</binding>
</customBinding>
Run Code Online (Sandbox Code Playgroud)
我相信我需要一个自定义绑定,因为在他们的一个文档中,他们提到了自定义绑定的一些属性.我不确定!此外,此绑定生成一个AssymetricBinding,我相信没有其他默认绑定执行此操作.
有人有任何提示吗?你们需要WSDL的知识吗?从理论上讲,我无法/允许调整WSDL,因为那时服务可能无法连接到我们.如果我确实需要调整WSDL,请告诉我为什么我可以与公司沟通.
我已经解决了这个问题,问题是我从问题中删除的自定义编码器,因为我认为它不是导致此问题的项目。尽管自定义编码器指定 Soap11WSAddressing10,但它仍然使用 1.2。如果我使用普通的 TextMessageEncoder 它可以工作(但那个不适合我的需要)。IWsdlExporter应用于反映生成 WSDL 时应使用 SOAP 1.1
| 归档时间: |
|
| 查看次数: |
525 次 |
| 最近记录: |