Служба WCF C# Действие SOAP, указанное в сообщении '', не соответствует действию HTTP SOAP 'RealTimeTransaction'
У меня есть служба WCF, которая требует мыла 1.2 и работает по https. Служба основана на " 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.
Есть ли способ в моем сервисе, чтобы я мог настроить свой сервис на использование Soap1.2 через HTTPS и не запрашивать опцию Enable WS-A addressing?
Я пробую обычное ожидание без успеха.
Это мой переплет
<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>
1 ответ
Я создаю пользовательскую привязку, устанавливающую messageVersion в Soap12. Таким образом, сервис запускается на Soap1.2, но без WS-Addressing
<customBinding>
<binding name="customBinding">
<textMessageEncoding messageVersion ="Soap12">
</textMessageEncoding>
<httpsTransport></httpsTransport>