本文鏈接地址:http://www.cnblogs.com/dengxinglin/p/3334158.html
一、生成代理類
對於web service服務和wcf的webservice服務,我們都可以通過一個代理類來調用。
怎么寫那個代理類呢?通過一個工具生成即可!!微軟為我們提供了一個wsdl.exe的Web服務描述語言工具,wsdl.exe從 WSDL 協定文件、XSD 架構和 .discomap 發現文檔為 XML Web services 和 XML Web services 客戶端生成代碼。我們不需要寫任何代碼,只要使用這個工具就可以自動生成的代理類文件。
那如何使用這個工具呢?
這個工具是在命令行下面執行的,我們只要打開VS的命令提示工具,我的英文版vs2010是打開方法是:開始菜單--》Microsoft Visual Studio 2010--》Visual Studio Tools--》Visual Studio Command Prompt (2010),我輸入了如下命令
wsdl /l:cs /n:mynamespace /out:d:\weather.cs http://www.webservicex.net/globalweather.asmx?WSDL
/l:cs是/language:cs是簡寫, 為輸出語言,支持輸出CS(默認)、VB (Visual Basic)、JS (Jscript) 或 VJS (Visual J#) 語言
/n:mynamespace 是生成代理類所使用的命名空間
/out:表示輸出文件的路徑了,這表示在輸出文件放在D盤,文件名為weather.cs
最后那個就是web service的wsdl地址了,按回車在D盤為我生成weather.cs代理類。
更多wsdl的命令可以去微軟的msdn網站上:http://msdn.microsoft.com/zh-cn/library/7h3ystb6(v=vs.80).aspx
二、編譯代理類
wsdl工具非常強大,為我生成了一個代理類,把該代理類放到我的項目用,就可以直接去調用了。可是有很多個web service,這樣生成了很多的代理類文件。這需要建立一個項目,把這些代理類都添加進去,之后編譯生成一個dll,供別的項目直接調用!把那些代理類都添加到一個項目中去編譯成一個dll,這些微軟也提供了一個csc的工具。實現了把代碼文件編譯成dll。
和上面一樣,csd也是在命令行下面運行的。打開Visual Studio 命令提示,輸入
csc /t: library /out:d:\webservice.dll d:\weather.cs d:\weather2.cs
/t:表示以類庫方式輸出的
/out:輸出的dll路徑
d:\weather.cs d:\weather2.cs是包含的兩個代理類文件
csc.exe是一個功能強大的編譯,更多關於csc.exe的使用:http://msdn.microsoft.com/zh-cn/library/78f4aasd.aspx
三、使用
生成了webservice.dll的文件,在項目中,你只需要添加對webservice.dll的引用,並需要引用system.web.services,代理類中使用了system.web.services下面的方法。
之后你就可以像調用本地的代碼一樣使用了。
我把上面這兩個命令行工具做成了一個可視化的工具:
web代理類生成工具
本文鏈接地址:http://www.cnblogs.com/dengxinglin/p/3334158.html