webservice axis2(Axis2框架簡單實現)
-
- 部署Axis2的war包
- 將WAR distribution中的axis2.war包解壓並複製到Tomcat的webapps資料夾中。
(2)雙擊Tomcat/bin目錄下的startup.bat啟動Tomcat,自動解壓webapps下的war包。
(3)在瀏覽器位址列中輸入war包地址:
會在Tomcat下生成一個axis2的檔案,通過Tomcat再訪問:
點選Services,發現釋出了一個Version版本,並沒有釋出服務,這是我們後面要操作的。
接下來實現由Eclipse釋出服務到Tomcat。
-
- 在Eclipse中安裝Axis外掛
(1)下載axis2的兩個外掛,解壓後將裡面的 jar包複製到eclipse安裝地址的plugins外掛資料夾中。
(2)重啟Eclipse,ctrl + N在建立裡輸入axis,就有:
檢測是否存在上圖選項。
-
- 建立服務端java專案
(1)建立介面與方法
(2)建立介面實現類,重寫方法
(3)儲存。在bin目標下生成.class檔案。
-
- 釋出服務
(1)建立Axis
(2)輸入Class檔案路徑
勾選 SKIP WSDL
選擇自動生成XML檔案,下一步,再下一步。
(3)填寫服務的名字,實現類的地址,點選:Load
勾選 只要宣告的方法
填寫輸出的地址及輸出的檔名
最後在桌面生成一個.aar的檔案,這是Axis2的包。
-
- 將.aar包複製到Tomcat下的axis2/WEB-INF/services
-
- 重啟Tomcat,輸入地址測試,發現在Version下面有暴露的方法
點選:personService就會產生一個xml檔案
現在只在一啟動tomcat就會發布這個服務。
-
- 用Eclipse自帶的工具測試
-
- 編寫客戶端來獲取釋出的服務
(1)建立java客戶端,接下來建立axis,選擇第一個
(2)選擇通過java程式碼生成WSDL檔案
(3)填寫WSDL檔案路徑
下一步,選擇輸出的路徑(這裡放本客戶端原始碼地址,到專案名地址即可,它會自動放到src資料夾中)
(4)ok後檢視客戶端專案中會多出一個
報錯的原因是因為這是在java專案,缺少axis的依賴包,動手導下即可。
匯入axis2-1.7.3-bin/bin下面所有的jar包。
建立一個包,建個測試類測試下。
try { PersonServiceStub personServiceStub=new PersonServiceStub(); Eat eat=new Eat(); eat.setWho1("雨田君"); eat.setWho2("婆婆輝"); EatResponse response=personServiceStub.eat(eat); //這裡將eat看成一個物件了 String str=response.get_return(); System.out.println(str); } catch (AxisFault e) { e.printStackTrace(); } catch (RemoteException e) { e.printStackTrace(); } |
關鍵是WSDL那檔案