寫在前面: 對於客戶端,服務端開發好了以後,客戶端只需要調用就可以了。這裡我們講的是,根據服務的訪問地址,來生成客戶端所需要用到的代碼(聽說有幾種調用方式,但是用到最常見的就是stub方式,貌似我說的這種方式就是的,具體沒深入研究。哈哈,先學會用再說) 1.瀏覽器輸入服務的訪問地址,如:http:/ ...
寫在前面:
對於客戶端,服務端開發好了以後,客戶端只需要調用就可以了。這裡我們講的是,根據服務的訪問地址,來生成客戶端所需要用到的代碼(聽說有幾種調用方式,但是用到最常見的就是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,就需要自己下去研究啦。