2010-06-02 219 views
1

我想用c#.net客户端来使用基于Java的Web服务。Web服务客户端身份验证

问题是,我无法验证服务。

它没有工作,这一点:

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

我试着写基类为我的客户的方法。

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

如何使用此类并授权到Web服务?我在哪里把这个类放在解决方案中?

谢谢。

回答

-2

我已经解决了我的问题:

http://www.xtremevbtalk.com/showthread.php?t=299559

+0

请问该怎么解决问题了吗? – javajavajava 2014-12-11 18:54:26

+0

所以你问C#代码的授权,并提供相当长的VB代码链接作为answear。这只是说:“人们,去找到你自己的方式。” – 2016-05-04 08:54:23

相关问题