与非WCF服务通信的最佳方式

时间:2012-06-09 21:15:27

标签: wcf web-services soap

我有一个需要与之通信的非WCF服务。我有服务的WSDL,它使用带有UsernameToken策略的WS-Security 1.0。

标题示例:

<S11:Envelope xmlns:S11="..." xmlns:wsse="...">
<S11:Header>
...
<wsse:Security>
 <wsse:UsernameToken>
 <wsse:Username>username</wsse:Username>
 <wsse:Password>password</wsse:Password>
 </wsse:UsernameToken>
</wsse:Security>
...
</S11:Header>
...
</S11:Envelope>

与此服务进行通信的最佳方式是什么?

如果我使用WCF,那么使标题看起来像我需要的UsernameToken将是我所知道的问题,对吧?我怎么能这样做?

另一方面,我可以制作一个非WCF代理,即使它已经过时了。

最好的方法是什么?

1 个答案:

答案 0 :(得分:1)

如果服务使用ssl,那么你可以使用这样的wcf配置:

<customBinding>
  <binding name="NewBinding0">
    <textMessageEncoding messageVersion="Soap11" />
    <security authenticationMode="UserNameOverTransport">
      <secureConversationBootstrap />
    </security>
    <httpTransport />
  </binding>
</customBinding>

如果服务不使用ssl,那么您应该使用ClearUsernameBinding