您的位置:首页 > 理论基础 > 计算机网络

c#如何通过https方式调用java写的WebServices

2009-11-04 09:49 591 查看
例子下载地址:http://download.csdn.net/source/2727071
   
 今天领导吩咐一个任务,就是用.net技术去调用java端写的webservices,而且要采用https访问方式,强制论证 
1)浏览器导入服务器cer证书
2)c#客户端引入证书 
 
java生成SSL双向认证文章:
http://www.javaeedev.com/blog/article.jspx?articleId=ff808081198fb524011993a9bb7a029a
 
c#客户端基于https访问方式调用webservice
代码如下:
  /// <summary> /// 基于https访问方式调用webservice /// </summary> private void btnHttps_Click(object sender, EventArgs e) { DataSet ds = new DataSet(); ServicePointManager.CertificatePolicy = new TrustAllCertificatePolicy(); localhost.IwebService objSessionManager = new localhost.IwebService(); //安全访问的webservice地址 objSessionManager.Url = System.Configuration.ConfigurationSettings.AppSettings["WebService.MocService"]; objSessionManager.Credentials = System.Net.CredentialCache.DefaultCredentials; // WSE 3.0 method X509Store store = new X509Store(StoreName.My, StoreLocation.CurrentUser); store.Open(OpenFlags.ReadOnly); //客户端安装证书名称 string findValue = "MyKey"; X509Certificate2Collection certsCollection = store.Certificates.Find(X509FindType.FindByIssuerName, findValue, false); X509Certificate2 cert; if (certsCollection.Count > 0) { //导入客户端证书 cert = certsCollection[0]; objSessionManager.ClientCertificates.Clear(); objSessionManager.ClientCertificates.Add(cert); } //下面是调用webservice服务getAll ds = ArrayToDataSet.ObjectArrayToDataSet(objSessionManager.getAll("nq", "nqdev")); //绑定控件 GV1.DataSource = ds.Tables[0]; } public class TrustAllCertificatePolicy : System.Net.ICertificatePolicy { public TrustAllCertificatePolicy(){} public bool CheckValidationResult(ServicePoint sp, X509Certificate cert,WebRequest req, int problem) { return true; } } 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息