调用 Https WebService 使用程序自动生成代理类

本文介绍如何通过浏览器获取WebService接口的WSDL文件,并利用VS的wsdl.exe工具生成代理类。针对HTTPS证书问题,提供了回调验证解决方案。此外,还展示了如何调用WebService中的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 商家提供的WebService接口:  https://ws.nciic.org.cn/nciic_ws/services/NciicServices?wsdl

2 在浏览器里打开这个地址,会显示一个XML,右击另存为1.wsdl文件

3 使用vs 的 wsdl.exe工具的来生成代理类

 wsdl.exe的位置  C:\Program Files\\Microsoft SDKs\Windows\v6.0A\bin\wsdl.exe  (视个人情况而定)

说明一下:WebService地址 可以是 http或者https的域名,可以是C:\1.WSDL的本地文件。 本文就是使用的本地文件(第2步保存的 1.wsdl文件)

4 使用的Https地址,有时会报:基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系 。这个是因为证书问题。

在生成的代理类的构造方法里面加入  回调验证,基本上就可以无视证书了

///<remarks/>
public nciicGetCondition()
{
this.Url = "http://api.nciic.org.cn/nciic_ws/services/nciicGetCondition";

//验证服务器证书回调自动验证
ServicePointManager.ServerCertificateValidationCallback += RemoteCertificateValidate;
}
//这个方法 是新加的直接添加进来就行了
private static bool RemoteCertificateValidate(object sender, X509Certificate cert, X509Chain chain, SslPolicyErrors error)
{
// trust any certificate!!!
System.Console.WriteLine("Warning, trust any certificate");
//为了通过证书验证,总是返回true
return true;
}

5  调用WebService里面的方法

 string inLicense ="";//授权文件

NciicServices objText = new NciicServices();

//读XML文件
string inConditions = File.ReadAllText(HttpRuntime.AppDomainAppPath + "\\XMLFile1.xml");

string r = objText.nciicCheck(inLicense, inConditions);

Response.Write(r);

 

最后要感谢  苏飞博客

本文引用:http://www.cnblogs.com/sufei/archive/2010/03/14/https.html

 

转载于:https://www.cnblogs.com/xiaonanmu/p/6877461.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值