2013-02-14 8 views
5

Ich versuche, einen WSESE-SOAP-Header zu meinem Serviceaufruf hinzuzufügen, aber die meisten Beispiele konzentrieren sich auf WCF. Ich benutze WCF nicht. Ich habe eine Web-Referenz (WSDL) hinzugefügt.WSEE-SOAP-Header zur Webreferenz hinzufügen

Ich habe verschiedene Methoden ohne Erfolg versucht, wie - das Überschreiben der GetWebRequest Methode:

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

Vielen Dank im Voraus:

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

Die WSSE Sicherheitsheader in etwa so aussehen sollte! Mit freundlichen Grüßen

Antwort

3
+2

War das nicht ein Kommentar ?? –

+1

Ihre Antwort war ein Lebensretter! Danke :) – paulsm4

+0

Dein erster Link ist kaputt. –