C#調(diào)用WebService的3種方式:直接調(diào)用、根據(jù)wsdl生成webservice的.cs文件及生成dll調(diào)用、動態(tài)調(diào)用
當前位置:點晴教程→知識管理交流
→『 技術(shù)文檔交流 』
關(guān)于soapheader調(diào)用,可以參考:C#調(diào)用Java的WebService添加SOAPHeader驗證 1.直接調(diào)用 已知webservice路徑,則可以直接 添加服務(wù)引用--高級--添加web引用 直接輸入webservice URL。這個比較常見也很簡單,即有完整的webservice文件目錄如下圖所示: 也可以在本地IIS根據(jù)webservice文件目錄新發(fā)布一個webservice,然后程序動態(tài)調(diào)用,修改Url:
2.根據(jù)wsdl文件生成webservice 的.cs文件 及 生成dll C#調(diào)用 有時沒有這么多文件,只有wsdl文件,wsdl文件可以有別人提供或者根據(jù)webservice地址獲?。?/p> http://localhost:8888/WS.asmx?wsdl
Visual Studio 2013->Visual Studio Tools->VS2013 開發(fā)人員命令提示: 命令行輸入: wsdl E:\WS.wsdl /out:WS.cs E:\WS.wsdl 是wsdl文件存儲路徑,也可以是http://localhost:8888/WS.asmx?wsdl,不報錯的話,看路徑下 Program Files\Microsoft Visual Studio 12.0\WS.cs已經(jīng)自動生成。 .cs文件看函數(shù)聲明,結(jié)構(gòu)體等都非常方便,然后命令行執(zhí)行:
csc /t:library WS.cs 同樣的路徑下,生成了WS.dll,拷貝出去放到項目文件夾下,C# winform程序也可以添加引用了。生成的文件默認在這里: 默認生成的SOAP版本為1.1,可以
G:\Program Files\Microsoft Visual Studio 12.0>wsdl E:\e.wsdl /protocol:SOAP12 /out:e.cs 來指定1.2 3.C# 動態(tài)調(diào)用WebService 在C#程序中,若要調(diào)用WebService,一般是采用"添加Web引用"的方式來實現(xiàn)的。但如果此WebService的URL是在程序運行過程中才能獲得的,那怎么辦呢?那就必須是"動態(tài)"調(diào)用這個WebService了。舉個使用它的例子: [] args = [, ); DataTable dt = WebServiceHelper.InvokeWebService(, , args) DataTable; 恩~有點麻煩,這意味著每次我都要把想調(diào)用的函數(shù)的參數(shù)組織成一個object[]才行,且每次調(diào)用InvokeWebService都是在內(nèi)存中創(chuàng)建動態(tài)程序集,效率極低。則次種方法絕對沒有直接用“實例名.方法名(參數(shù)列表)”來的舒服。我把它放到一個叫WebServiceHelper.cs的類里面了。
參考 http://blog.csdn.net/chuxiamuxiang/article/details/5731988 該文章在 2023/8/22 15:29:06 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |