简体   繁体   English

C#WCF服务在消息“”上指定的SOAP操作与HTTP SOAP操作“ RealTimeTransaction”不匹配

[英]C# WCF Service The SOAP action specified on the message, '', does not match the HTTP SOAP Action, 'RealTimeTransaction'

I have a WCF service that required soap 1.2 and run on https. 我有一个需要肥皂1.2并在https上运行的WCF服务。 The service is based in the " http://www.caqh.org/SOAP/WSDL/ " WSDL. 该服务基于“ http://www.caqh.org/SOAP/WSDL/ ” WSDL。 I call the service using SoapUI and it work fine. 我使用SoapUI调用该服务,并且工作正常。 Then I try to use a standard client the is based in the follogin WSDL " http://www.caqh.org/SOAP/WSDL/ " and it display the error: The SOAP action specified on the message, '', does not match the HTTP SOAP Action, 'RealTimeTransaction'. 然后,我尝试使用基于follogin WSDL“ http://www.caqh.org/SOAP/WSDL/ ”的标准客户端,它显示错误:在消息“”上指定的SOAP操作没有与HTTP SOAP操作“ RealTimeTransaction”匹配。 I verify and if in SoapUi under the WS-A option the "Enable WS-A addressing is check, if I remove the option and run the service it return the same error: The SOAP action specified on the message, '', does not match the HTTP SOAP Action, 'RealTimeTransaction'. This make me think that the problem is that the standard client that I,m using for tests is not setting the WS-A Addressing option. 我验证并且在SoapUi中的WS-A选项下是否选中了“启用WS-A寻址,如果我删除该选项并运行服务,它会返回相同的错误:在消息”上指定的SOAP操作不会匹配HTTP SOAP操作“ RealTimeTransaction”,这使我认为问题是我用于测试的标准客户端未设置WS-A寻址选项。

Is there a way in my service that I can configure my service to use Soap1.2 run over https and do not requeried the Enable WS-A addressing option? 我的服务中是否有一种方法可以配置我的服务以使用通过https运行的Soap1.2,而不重新查询“启用WS-A寻址”选项?

I try a custome biding with no succes. 我尝试没有成功的客户出价。

This is my binding 这是我的约束

<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>

I Create a Custom binding setting the messageVersion to Soap12. 我创建一个自定义绑定,将messageVersion设置为Soap12。 By this the service run on Soap1.2 but without the WS-Addressing 这样,该服务可以在Soap1.2上运行,但无需WS-Addressing

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM