接著就來寫一個簡單的 Hello World 範例
第一步先建立 Server 端的部分
1. 建立一個一般的 Java project 名稱為 HelloWorld4WS
2. 匯入 Axis2 的 Library
3.接著建立一個簡單的 HelloService 類別
package org.service; public class HelloService { // method : sayHello, return String public String sayHello(){ return "Hello Web Services"; } }
接著要定義一個 services.xml 來說明你的 Web service 提供哪些服務及服務名稱
在 project 的目錄下建立一個資料夾 名為 META-INF
並在該資料夾內新增一個 services.xml 檔案
內容如下
<service name="HelloWorld4WS">
<Description>
Hello world
example for Web Services
</Description>
<parameter name="ServiceClass" locked="false">org.service.HelloService</parameter>
<operation name="sayHello">
<messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"
/>
</operation>
</service>
完成之後就可以將這個 Java project 包成 Jar 檔
File > Export... > JAR file 如下圖所示
按下 Finish 之後就完成打包 ((可以包成 .jar 或是 .aar 檔
接著就需要將打包後的檔案上到 Axis 2
首先啟動 Apache Tomcat 5.5 完成後瀏覽 http://localhost:8080/axis2/axis2-admin/listService
選左邊的 Upload Service
並將你的檔案上傳上去 上傳成功之後稍等一會 點擊旁邊的 Available Services
應該會看到如下圖 :
可以點 HelloWorldWS 進去看你的 WSDL
點進去後注意目前網址 http://localhost:8080/axis2/services/HelloWorld4WS?wsdl
再來就要撰寫 Client 的測試了
一樣先建立一個一般的 Java project 名為:HelloWorld4WSClient
同樣的完成後匯入 Axis2 的 Library
接著要替你剛剛寫的 Web Services 產生 Client 端的程式碼
作法如下:
開啟 cmd 將路徑轉到 Axis 2 的 bin 目錄下 EX:C:\axis2-1.5\bin
並輸入 wsdl2java -uri http://localhost:8080/axis2/services/HelloWorld4WS?wsdl
這樣會在 bin 目錄下產生一個 src 的資料夾 並找到兩個檔案 如下圖
將這兩個檔案放到 Client 的 project 下
最後在撰寫呼叫的測試程式
import java.rmi.RemoteException; import org.service.HelloWorld4WSStub; import org.service.HelloWorld4WSStub.SayHelloResponse; public class TestWS { /** * @param args * @throws RemoteException */ public static void main(String[] args) throws RemoteException { // TODO Auto-generated method stub HelloWorld4WSStub stub = new HelloWorld4WSStub(); SayHelloResponse response = stub.sayHello(); String str = response.get_return(); System.out.println("Return " + str); } }
沒有留言:
張貼留言