Web Serveice服務代理類生成及編譯


本文鏈接地址: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

 


免責聲明!

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



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