2013-02-14 75 views
5

我正在嘗試將WSSE SOAP頭添加到我的服務調用中,但大多數示例都關注WCF。我沒有使用WCF。我已經添加了一個Web引用(WSDL)。將WSSE SOAP頭添加到Web參考

我已經試過各種方法都沒有成功,像 - 重寫GetWebRequest方法:

protected override System.Net.WebRequest GetWebRequest(Uri uri) 
    { 
     string user = "username"; 
     string pwd = "password"; 

     System.Net.WebRequest request = base.GetWebRequest(uri); 

     string auth = string.Format("Basic {0}", Convert.ToBase64String(System.Text.Encoding.Default.GetBytes(string.Format("{0}:{1}", user, pwd)))); 
     request.PreAuthenticate = true; 
     request.AuthenticationLevel = System.Net.Security.AuthenticationLevel.MutualAuthRequested; 
     request.Headers.Add(HttpRequestHeader.Authorization, auth); 

     return request; 
    } 

的WSSE安全首部應該像這樣的事情:

<Security xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"> 
     <UsernameToken> 
      <Username>username</Username> 
      <Password>password</Password> 
     </UsernameToken> 
     </Security> 

提前非常感謝! 親切的問候,

回答

3
+2

這不應該是一個評論? – 2015-07-17 09:40:34

+1

你的迴應是一個救星!謝謝:) – paulsm4 2016-07-09 03:05:44

+0

您的第一個鏈接已損壞。 – 2017-10-10 13:04:48