1. 從官網apache.org上下載:
axis2-1.6.2-war.zip成功解壓後,把包含的axis2.war包放置TomCat的webapps目錄下即可,然後啓動TomCact(本文所使用的Web容器)輸入:http://IP:PORT/axis2/即表示Axis2安裝成功。
2. 編寫與發佈屬於你的第一個0配置的Service服務
既然都已經成功安裝好Axis2了,接下來我們要做的事情就是開始編寫及發佈我們的Service服務了,打開你的eclipse,新建一個工程,然後隨便寫個POJO
public class Myservice {
public String getName() {
return "My Webservice Axis2";
}
}
僅僅只是包含一個簡單的返回值爲String的getName()方法,沒錯,就這麼簡單。接下來如何將這個簡單的方法發不成WebService方法呢???這其實不難,你只需要將該源文件的字節碼(.class)文件拷貝至<TomCat安裝目錄>\webapps\axis2\WEB-INF\POJO中即可(如果沒有POJO目錄則自己新建)。
當發佈成功後,我們可以打開瀏覽器輸入http://localhost:8888/axis2/services/listServices便可以看見我們發佈的Service方法了:
注意看,Service的名稱就是咱們的類名,而該Service中所包含的方法就是咱們的getName()方法。
通過點擊Service名稱連接,你可以查看詳細的WSDL文件,那麼什麼是WSDL呢???簡單來說WSDL(Web Services Description Language),是一個用來描述Web服務和說明如何與Web服務通信的XML語言。我們可以在WSDL文件中來測試我們發佈的Service方法,輸入http://localhost:8888/axis2/services/MyService/getName:
3. 如果pojo帶包了,就不要放在POJO目錄下了
想要將帶包的POJO順利發佈成Service,那麼必不可少的條件就是需要services.xml文件,因爲該文件描繪了包與類的關係結構。
你首先需要在工程目錄下新建一個\META-INF\文件夾,然後新建一個service.xml文件即可。
- <span style="font-size: small;"><?xml version="1.0" encoding="UTF-8"?>
- <!-- Service名稱 -->
- <service name="myService">
- <!-- Service描述 -->
- <description>
- 登陸效驗Service
- </description>
- <!-- 描繪包與類的關係結構 -->
- <parameter name="ServiceClass">
- org.johngao.service.LoginValidate
- </parameter>
- <!-- 定義方法處理器 -->
- <messageReceivers>
- <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
- class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
- <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"
- class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" />
- </messageReceivers>
- </service></span>
如果你在services.xml文件中需要發佈多個Service,那麼你可以使用<serviceGroup/>標籤:
- <span style="font-size: small;"><serviceGroup>
- <service>
- <!-- 第一個Service -->
- </service>
- <service>
- <!-- 第二個Service -->
- </service>
- </serviceGroup></span>
接下來要做的事情就是你最期待的,那便是將帶包的POJO發佈成Service進行調用。當然你選擇使用service.xml文件的形式發佈Service,首先則必須將項目打包成".aar"文件(也就是".jar")。你可以先將項目打包成jar,然後再將文件後綴改變爲aar即可,當然不改也行,只是爲了遵循Axis2的規範,筆者還是建議你將文件後綴改成aar。
這裏筆者需要提醒你的是,在將項目打包時,你只需要選擇\META-INFA\service.xml即可,字節碼文件不需要一起打包:
接下來我們需要將打包好的aar文件放置在\axis2\WEB-INF\services\目錄下。當然這樣還並沒有結束,你還需要將項目的字節碼文件放置在\axis2\WEB-INF\classes\目錄下,或者以jar包的形式放置在\axis2\WEB-INF\lib\目錄下都可以。當然筆者還是選擇將字節碼文件放置在classes目錄下。
啓動你的Web容器,輸入http://ip:port/axis2/services/listServices進行訪問: