简体   繁体   English

SOAP 1.1服务的双工连接

[英]Duplex connection with SOAP 1.1 service

I wish to connect to a SOAP 1.1 service. 我希望连接到SOAP 1.1服务。 The service specifies a callback interface so I must connect using the duplex wcf classes. 该服务指定了一个回调接口,因此我必须使用双工wcf类进行连接。

My problem is that basicHttpBinding is SOAP11, but does not allow duplex. 我的问题是basicHttpBinding是SOAP11,但不允许双工。 wsDualHttpBinding allows duplex, but is strictly SOAP12 wsDualHttpBinding允许双工,但严格来说是SOAP12

I can clarify more if there is any questions, but how do I do this seemingly simple thing? 如果有任何问题,我可以澄清更多,但是如何处理看似简单的事情?

The answer is to use a custom binding with messageVersion set to Soap11WSAddressing10. 答案是使用将messageVersion设置为Soap11WSAddressing10的自定义绑定。 You can see mine here. 你可以在这里看到我的。 Be warned though that im' not quite finished debugging it: 被警告,尽管即时消息尚未完全调试完毕:

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

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

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