我希望连接到SOAP 1.1服务。该服务指定了一个回调接口,因此我必须使用双工wcf类进行连接。
我的问题是basicHttpBinding是SOAP11,但不允许双工。 wsDualHttpBinding允许双工,但严格来说是SOAP12
如果有任何问题我可以澄清一下,但我怎么做这个看似简单的事情呢?
答案 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>