這段時間工作中需要使用webservice開發,所以再加進學習.看了不少網上的教程,特別符合的不多,自己弄了兩天,進行下總結.
我的環境:myeclipse8,tomcat,axis1.x(具體我也不清楚,寫的是1.5,打開時1.4)
好,廢話不多說,開始!
1.安裝axis的eclipse插件.
1.1 下載axis插件,具體地址記不住了,需要的朋友附件中有,包括
a).axis2-eclipse-codegen-wizard.zip
b).axis2-eclipse-service-archiver-wizard.zip
當然還需要axis的包,axis2-1.5.1-bin.zip,axis2-1.5-war.zip(這個部署的時候有用)
1.2 安裝
1.2.1 把剛纔下的兩個插件包解壓後放置myeclipse8安裝目錄下的dropins文件夾中.
1.2.2 在axis2-eclipse-codegen-wizard的lib文件夾中加入geronimo-stax-api_1.0_spec-1.0.1.jar和backport-util-concurrent-3.1.jar文件,並修改該目錄中的plugin.xml文件,加入如下兩行
<library name="lib/geronimo-stax-api_1.0_spec-1.0.1.jar"> <export name="*"/> </library> <library name="lib/backport-util-concurrent-3.1.jar"> <export name="*"/> </library>
(因爲目前似乎這個axis的插件經常出問題,不加以上兩個jar文件的話會出現客戶端生成最後一步報錯的問題)
好了,插件安裝完成,這裏需要注意的是,安裝插件的過程中請關閉myeclipse8,否則服務端生成插件又會出問題,就是出現使用插件過程中點擊next按鈕後,面板上什麼都沒有了,不過沒關係,出現這樣的情況的話,請先刪除剛纔安裝的兩個插件,然後啓動myeclipse8,然後再關閉後,考入兩個插件,再啓動就OK了(我也初學者,可能這個問題有更好的辦法解決,只是目前我這麼處理的,有經驗的朋友可以多多指點,謝謝.
2.開發服務端
在這個例子中,我們也就採用老掉牙的例子,hello world吧,多好理解的,服務端的目的提供一個sayhello的方法,需要傳入一個name的參數,然後返回,hello world! name,好了,廢話又多了,做事情.
2.1 新建web工程,名字就叫Hello吧,然後建立如下HelloServer,代碼如下:
package server;
public class HelloServer {
public String sayHello(String name){
return "Hello! "+name;
}
}
(夠簡單吧,應該好理解哈!)
2.2 根據HelloServer.java新建wsdl
此步驟可跳過,主要是說明一下插件的功能,其實生成wsdl可以在部署服務端後,通過地址欄訪問得到.
右鍵工程-->新建-->其他-->Axis2 Wizards-->Axis2 Code Generator
如圖所示一步一步的:
然後點擊完成,OK了,在src目錄下應該可以看到HelloWorld.wsdl哈.
3 部署服務端
3.1 建立服務目錄
剛纔下的axis2-1.5-war.zip文件,解壓,有axis2.war文件,再解壓,複製axis2\WEB-INF\下的
modules,conf,services三個目錄到Hello工程下的WEB-INF目錄下.
3.2 打包並部署
右鍵工程-->新建-->其他-->Axis2 Wizards-->Axis2 Service Archiver
如圖所示一步一步的:
(請注意圖片中的路徑位置)
單擊Finish完成,好了,刷新一下項目,可以看到結構圖如下.
可以看到在services目錄下多了我們添加的SayHelloService.arr包.
3.3 編輯web.xml加入如下代碼
<servlet> <servlet-name>AxisServlet</servlet-name> <servlet-class>org.apache.axis2.transport.http.AxisServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>AxisServlet</servlet-name> <url-pattern>/services/*</url-pattern> </servlet-mapping>
3.4 解壓剛纔下載的axis2-1.5.1-bin.zip,然後複製lib下所有jar文件到該工程中.
好了,部署項目,啓動tomcat,然後訪問 http://localhost:8080/Hello/services/HelloServer_Service?wsdl
完成! 下次繼續客戶端的方法.累了.