調用 Https WebService 使用程序自動生成代理類


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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM