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; } }
今天领导吩咐一个任务,就是用.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; } }
相关文章推荐
- SpringMVC如何用Java类配置(不通过web.xml和XML方式)
- java 通过httpclient调用https 的webapi
- Java通过JNI的方式调用C
- 通过COM组件方式实现java调用C#写的DLL文件
- Java如何通过WSDL文件来调用这些web service
- 如何通过HTTPS(SSL加密)方式访问webservice
- 如何通过HTTPS方式访问webservice
- 如何通过HTTPS(SSL加密)方式访问webservice
- 如何通过HTTPS(SSL加密)方式访问web service
- java调用存储过程的三种方式(包含通过hibernate调用)
- java如何调用接口方式二
- 如何通过JAVA让DB2调用操作系统命令
- Java 调用Restful API接口的几种方式--HTTPS
- Java如何通过VC调用VB编写的COM
- java中如何通过JDBC的方式连接sqlserver2005多实例数据库?
- java,android中https请求调用使用安全的方式
- 如何通过web地址直接调用webservices
- java 通过httpclient调用https 的webapi
- Java千百问_02基本使用(015)_java如何通过汇编方式运行
- Java 以post请求方式通过json格式调用Webservice接口