与SOAP 1.1服务的双工连接

时间:2014-02-13 12:31:16

标签: wcf web-services soap

我希望连接到SOAP 1.1服务。该服务指定了一个回调接口,因此我必须使用双工wcf类进行连接。

我的问题是basicHttpBinding是SOAP11,但不允许双工。 wsDualHttpBinding允许双工,但严格来说是SOAP12

如果有任何问题我可以澄清一下,但我怎么做这个看似简单的事情呢?

1 个答案:

答案 0 :(得分:1)

答案是使用自定义绑定,并将messageVersion设置为Soap11WSAddressing10。你可以在这看到我的。虽然我没有完成它的调试,但要注意:

<customBinding>
        <binding name="SomeCustomerApi" closeTimeout="00:01:00"
            openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00">
          <security authenticationMode="UserNameOverTransport" enableUnsecuredResponse="true" allowInsecureTransport="true"/>
          <compositeDuplex clientBaseAddress="http://localhost:port"/>
          <oneWay maxAcceptedChannels="2"/>
          <textMessageEncoding messageVersion="Soap11WSAddressing10" maxReadPoolSize="64" maxWritePoolSize="16" writeEncoding="utf-8"/>
          <httpTransport maxBufferPoolSize="524288" maxBufferSize="524288" maxReceivedMessageSize="524288"
          useDefaultWebProxy="true"
          authenticationScheme="Negotiate"
          bypassProxyOnLocal="false"
          hostNameComparisonMode="StrongWildcard"
          transferMode="Buffered"
          manualAddressing="false"
                         />
        </binding>
      </customBinding>