2011-10-31 120 views
2

希望有人能幫助我。WSSE安全標頭

我想調用這個Web服務
https://link.hertz.com/AuthenticationWebservice/authenticateAdmin?wsdl

我一直在說,我需要通過以下方式與網絡服務身份驗證:

username => "webServiceUserName" 
password => "webServicePassword" 
WSS-Password Type => "PasswordDigest" 

我使用一個asp.net 4.0應用程序,並且無法弄清楚如何將WSS-Password類型傳遞給我的Web服務調用。

我已經加入這項服務的網址爲我的asp.net應用程序服務的參考,我用我的asp.net頁面下面的代碼:提前

service1.AuthenticateAdminClient myClient = new service1.AuthenticateAdminClient(); 
myClient.ClientCredentials.UserName.UserName = "webServiceUserName"; 
wsClient.ClientCredentials.UserName.Password = "webServicePassword"; 

myClient.authenticateAdminCredentials(myUserName, myPassword, myDomain); 

感謝,

Hari

回答

2

我們使用這個example它適用於我們。我們剛換了SecurityHeader中的這個「通用性」:

 if (PasswordType == PasswordType.Digest) 
     { 
      writer.WriteAttributeString("Type", "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordDigest"); 
      writer.WriteString(ComputePasswordDigest(SystemPassword, nonce, created)); 
     } 
     else if (PasswordType == PasswordType.Text) 
     { 
      writer.WriteAttributeString("Type", "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText"); 
      writer.WriteString(SystemPassword); 
     } 
+0

嗨,首先感謝您的回覆。我在我的代碼中進行了更改以包含您的建議;但我收到了異常:

處理標頭時發現錯誤。
不確定,現在要做? – Hari