2010-04-30 67 views
3

我試圖使用WCF客戶端調用第三方Web服務的工作。 Web服務usses Username令牌認證WSS-安全1.0 SOAP消息安全試圖讓WCF客戶端使用WSS 1.0的用戶名令牌安全

這裏是什麼網絡服務期望

<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> 
<soap:Header> 
<wsse:Security soap:mustUnderstand="1"> 
<wsse:UsernameToken namespaces> 
<wsse:Username>username</wsse:Username> 
<wsse:Password Type="type info">password</wsse:Password> 
<wsse:Nonce>nonce</wsse:Nonce> 
<wsu:Created>date created</wsu:Created> 
</wsse:UsernameToken> 
<wsse:Security> 
</soap:Header> 
<soap:Body> 
<WebServiceMethodName xmlns="Web Service Namespace" /> 

我配置客戶端向一個樣品皁認證頭以下方式

<basicHttpBinding> 
<binding name="Binding1"> 
<security mode="TransportWithMessageCredential"> 
<transport clientCredentialType="Basic"/> 
</security> 
</basicHttpBinding> 

但收到一個錯誤,指出隨機數a標題中缺少nd datecreated屬性。有誰知道如何配置WCF客戶端與

WSS-安全1.0 SOAP消息安全用戶名令牌認證工作?

回答

1

一直在看同樣的問題,我的結論是,不幸的是WCF不支持隨機數的值。

如果你想發送的用戶名和密碼(時間戳默認情況下包括)更改配置到

 <basicHttpBinding> 
     <binding name="BasicHTTP"> 
      <!-- UsernameToken over Transport Security --> 
      <security mode="TransportWithMessageCredential"> 
      <message clientCredentialType ="UserName" /> 
      </security> 
     </binding> 
     </basicHttpBinding> 

另外要注意,這似乎是一個缺陷(標準至少不同的解釋)與當WCF和WSS4J看到http://social.msdn.microsoft.com/Forums/en/wcf/thread/6bc1b0e4-424b-4e2a-909c-815095be631f

WSSConfig.getDefaultWSConfig()之間交換關於所述的UserNameToken setAllowNamespaceQualifiedPasswordTypes(真)。可能是WSS4J方面的解決方法。

UPDATE:在WCF方面讓您可以通過實施CustomCredential和CustomTokenSerializer裁判的最後一個職位的問題在 http://social.msdn.microsoft.com/Forums/en-US/wcf/thread/4df3354f-0627-42d9-b5fb-6e880b60f8ee

沃爾維克

3

我有同樣的問題。我使用MessageInspectorBeforeSendRequest方法中添加了正確的UsernameToken,而不是自定義令牌serlializer。然後我使用自定義行爲來應用修復程序。

我的博客文章Supporting the WS-I Basic Profile Password Digest in a WCF client proxy中記錄了整個過程(使用demo project)。或者,您也可以閱讀PDF

如果你想通過該溶液中,跟隨我的進步,你會發現它在計算器上題爲「Error in WCF client consuming Axis 2 web service with WS-Security UsernameToken PasswordDigest authentication scheme」:

相關問題