2010-06-02 6 views
1

Je souhaite consommer un service Web basé sur Java avec un client C# .net.authentification du client de service Web

Le problème est que je ne pouvais pas m'authentifier auprès du service.

cela n'a pas fonctionné avec ceci:

mywebservice.Credentials = new System.Net.NetworkCredential(userid, userpass); 

J'ai essayé d'écrire la classe de base pour ma méthode client.

public class ClientProtocols : SoapHttpClientProtocol 
    { 
     protected override WebRequest GetWebRequest(Uri uri) 
     { 
      System.Net.WebRequest request = base.GetWebRequest(uri); 
      if (null != Credentials) 
       request.Headers.Add("Authorization", GetAuthHeader()); 
      return request; 
     } 
     protected override WebResponse GetWebResponse(WebRequest request) 
     { 
      WebResponse response = base.GetWebResponse(request); 
      return response; 
     } 
     private string GetAuthHeader() 
     { 
      StringBuilder sb = new StringBuilder(); 
      sb.Append("Basic "); 
      NetworkCredential cred = Credentials.GetCredential(new Uri(Url), "Basic"); 
      string s = string.Format("{0}:{1}", cred.UserName, cred.Password); 
      sb.Append(Convert.ToBase64String(Encoding.ASCII.GetBytes(s))); 
      return sb.ToString(); 
     } 
    } 

Comment puis-je utiliser cette classe et autoriser le service Web? Où puis-je mettre cette classe en solution?

Merci.

Répondre

-2
+0

comment est-ce que résoudre votre problème? – javajavajava

+0

Donc, vous demandez à propos du code C# pour l'autorisation et fournir un lien avec le code VB assez long comme une Answear. Ce n'est rien d'autre que dire: "Les gens, allez et trouvez votre propre chemin". –

Questions connexes