【问题标题】:C# WCF Service The SOAP action specified on the message, '', does not match the HTTP SOAP Action, 'RealTimeTransaction'C# WCF 服务在消息上指定的 SOAP 操作“”与 HTTP SOAP 操作“RealTimeTransaction”不匹配
【发布时间】:2017-12-20 00:04:36
【问题描述】:

我有一个需要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>

【问题讨论】:

    标签: c# web-services wcf https soap1.2


    【解决方案1】:

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

    <customBinding>
    <binding name="customBinding">
    <textMessageEncoding messageVersion ="Soap12">
    </textMessageEncoding>
    <httpsTransport></httpsTransport>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-08
      • 1970-01-01
      • 1970-01-01
      • 2013-07-03
      • 1970-01-01
      • 2012-12-07
      相关资源
      最近更新 更多