寫在前面:
對於客戶端,服務端開發好了以后,客戶端只需要調用就可以了。這里我們講的是,根據服務的訪問地址,來生成客戶端所需要用到的代碼(聽說有幾種調用方式,但是用到最常見的就是stub方式,貌似我說的這種方式就是的,具體沒深入研究。哈哈,先學會用再說)
1.瀏覽器輸入服務的訪問地址,如:http://localhost:8080/test_axis3_stub/services/sayHello?wsdl,這一步是為了確保服務是可以正常訪問的。
2.編寫一個.bat文件,用來生成java客戶端代碼。文件名字可以隨便取,內容如下:
set Axis_Lib=D:\myEclipse10_WS\job\test_axis3_stub\WebRoot\WEB-INF\lib set Java_Cmd=java -Djava.ext.dirs=%Axis_Lib% set Output_Path=D:\my set Package=edu.hue.stub %Java_Cmd% org.apache.axis.wsdl.WSDL2Java -o%Output_Path% -p%Package% http://localhost:8080/test_axis3_stub/services/sayHello?wsdl
這里直接將上面的復制粘貼到你的文件下,然后稍微做下解釋,Axis_Lib:這個是你的axis.jar的存放路徑,一般這個路徑為了方便,我們直接寫你項目的所在路徑就好了,一直到lib下,因為你的jar包是放在這里的嘛;Output_Path:就是生成java客戶端代碼的路徑,這里你自己指定就好了,例如D:\my,前提是你d盤下有my這個文件夾;最后將上面的那個訪問鏈接地址換成你想要訪問的服務的鏈接就好,這里我的是http://localhost:8080/test_axis3_stub/services/sayHello?wsdl
到這就可以了,然后去雙擊運行這個.bat文件就可以在D:\my下面生成java客戶端代碼了(注意你的服務端此時應該是運行的),哦,對了,有可能你跟我一樣是小白,連.bat文件怎么創建都不知道,下面我就簡單說說,你創建一個記事本文件,將內容寫好后,最后另存為名字為my.bat,注意這里要改變保存類型,為所有文件。之后保存就可以了。就成了.bat文件啦。
3.將生成的java客戶端代碼,復制粘貼到你的項目里面。
4.創建一個客戶端類,內容如下:
package edu.hue.client; import java.rmi.RemoteException; import edu.hue.stub.SayHelloImpl; import edu.hue.stub.SayHelloImplService; import edu.hue.stub.SayHelloImplServiceLocator; public class MyClient { public static void main(String[] args) throws Exception { //獲取服務集合 SayHelloImplService service = new SayHelloImplServiceLocator(); //獲得服務 SayHelloImpl client = service.getsayHello(); //調用服務的方法 傳遞參數 String result = client.say("臭小蚊子"); System.out.println(result); } }
這里的獲取服務集合,是根據你剛生成的java類來new的,注意觀察,一般這個集合是以Service結尾的,直接new這個類就好了;獲得服務,直接寫.的時候,就會出來提示,你看提示中哪一個是符合你要調用的服務類的就選擇那個就可以了;后面的調用服務的方法,也是寫client.之后,根據提示就可以判斷你要調用的是哪個方法了。
5.右鍵,運行。成功啦~~~~
這里都是說的如何快速用asix1.4來開發一個webservice。涉及到更復雜的參數傳遞什么的,比如說傳遞的參數是一個bean,就需要自己下去研究啦。
交流群:527038646 嘻嘻嘻
