2013-02-14 16 views
5

Próbuję dodać nagłówek SOAP WSSE do mojego wywołania usługi, ale większość przykładów koncentruje się na WCF. Nie używam WCF. Dodałem Web Reference (WSDL).Dodaj nagłówek WSSE SOAP do referencji WWW

Próbowałem różnych sposobów bez powodzenia, jak - przesłanianie metody 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 Bezpieczeństwo nagłówka powinna wyglądać mniej więcej tak:

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

Z góry serdecznie dziękujemy! poważaniem,

Odpowiedz

3
+2

Czy to nie miało być komentarzem? –

+1

Twoja odpowiedź była ratunkiem! Dziękuję :) – paulsm4

+0

Twój pierwszy link jest zepsuty. –