0

我有一个需要soap 1.2 并在https 上运行的WCF 服务。该服务基于“ http://www.caqh.org/SOAP/WSDL/”WSDL。我使用 SoapUI 调用该服务,它工作正常。然后我尝试使用基于以下 WSDL 的标准客户端“ http://www.caqh.org/SOAP/WSDL/”并显示错误:消息上指定的 SOAP 操作“”与 HTTP SOAP 操作“RealTimeTransaction”不匹配。我验证并且如果在 SoapUi 中的 WS-A 选项下“启用 WS-A 寻址”是检查,如果我删除该选项并运行服务,它会返回相同的错误:消息上指定的 SOAP 操作“”与 HTTP SOAP 操作“RealTimeTransaction”不匹配。这让我认为问题在于我用于测试的标准客户端没有设置 WS-A 寻址选项。

在我的服务中是否有一种方法可以将我的服务配置为使用通过 https 运行的 Soap1.2 并且不要求启用 WS-A 寻址选项?

我尝试了没有成功的客户投标。

这是我的绑定

<endpoint address="" binding="wsHttpBinding" 
bindingConfiguration="secureHttpBinding"
name="CORESoapBinding" bindingName="CORESoapBinding" 
bindingNamespace="http://www.caqh.org/SOAP/WSDL/"
contract="CORE.Interfaces.CORETransactions" />
<endpoint address="mex" binding="mexHttpsBinding" 
contract="IMetadataExchange" /> 
</service>
</services>
<protocolMapping>
<remove scheme="http" />
<add scheme="http" binding="basicHttpBinding" />
<add scheme="https" binding="wsHttpBinding" /> 
</protocolMapping>
<bindings>
<wsHttpBinding>
<binding name="secureHttpBinding">
<security mode="Transport">
<transport clientCredentialType="None" >
</transport>
</security>
</binding>
</wsHttpBinding>
4

1 回答 1

0

我创建了一个自定义绑定,将 messageVersion 设置为 Soap12。这样,服务在 Soap1.2 上运行,但没有 WS-Addressing

<customBinding>
<binding name="customBinding">
<textMessageEncoding messageVersion ="Soap12">
</textMessageEncoding>
<httpsTransport></httpsTransport>
于 2017-12-22T00:44:03.430 回答