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