最近有一個
項目要用
webservice開發(fā),聽說Axis2不錯,所以就去
apache下載下來,因為第
一次用,不熟悉,只好去網(wǎng)上
搜搜文章,發(fā)覺網(wǎng)上這
方面的介紹很少,要不就是講的太簡單了,不好上手,只好去看Axis2自帶的文檔。經(jīng)過幾天的
學(xué)習(xí),調(diào)通了一個實例。就和大家一塊探討學(xué)習(xí)!
一、環(huán)境:
1. jdk1.5 + Tomcat5.5 + Axis2_1.1.1
2. 好像jdk要1.4以上,tomcat要4.0以上。
二、準(zhǔn)備工作:
1.下載Axis2,去http://ws.apache.org/axis2/下載Standard B
inary Distribution、WAR Distribution。
2. 把Standard Binary Distribution解壓,如:$AXIS2_HOME$ = D:\axis2-1.1.1。
3. 把WAR Distribution 解壓到 $tomcat_home$\webapps\axis2下(
注意:這里的axis2
文件夾需要你手動添加),或者你也
可以參照axis2文檔的步驟用 ant 創(chuàng)建一個axis2.war ,放到$tomcat_home$\webapps下,然后啟動tomcat ,那么tomcat會在webapps下自動創(chuàng)建一個axis2文件夾。
4. 設(shè)置環(huán)境變量:
建立JAVA_HOME和AXIS2_HOME,添加你的jdk和axis2的存放地址,同時把他們的bin添加到path。這樣做主要是方便下來生成wsdl文件。
5. 你可能還有把$tomcat_home$\webapps\axis2\WEB-INF\lib下的這些*.jar包添加到環(huán)境變量的classpath 。當(dāng)然如果你使用
IDEA的話可能就
不用了。
三、測試:
1. 啟動tomcat 打開
瀏覽器,
輸入:http://localhost:[port]/axis2/ 應(yīng)該可以進(jìn)入axis2的歡迎
界面了。點擊“Validate”如果沒有報錯,應(yīng)該說環(huán)境已經(jīng)搭建好了!!
2. 點擊“Ad
ministration”初始
用戶名和密碼分別是:admin 和 axis2,當(dāng)然你也可以到$tomcat_home$\webapps\axis2\WEB-INF\conf\axis2.xml下通過
修改用戶名和密碼。
四、一個簡單實例
1. 用的實例是$AXIS2_HOME$\samples\
quickstartaxiom 下的文件,這里有一個service :StockQuoteService.java,client:AXIOMClient.java 兩個java文件。
2. 編譯StockQuoteService.java 文件。我用的ID
EA 是intelliJ。所以編譯完后class文件在$tomcat_home$\webapps\axis2\WEB-INF\classes \[package]. StockQuoteService.class ,這里package 我就不多說了。
3. 生成wsdl文件。這里用axis2自帶的java2wsdl.bat 來生成wsdl文件:進(jìn)入dos 命令提示符到$tomcat_home$\webapps\axis2\WEB-INF\classes 下,輸入:
java2wsdl –cp . -cn [package].StockQuoteService –of ..\wsdl\StockQuoteService.wsdl
-cn 后是指定的類,-of 是把文件輸出到指定的位置。這里我在$tomcat_home$\webapps\axis2\WEB-INF 下創(chuàng)建了wsdl文件夾存放wsdl文件。
4. 下面可以打包了,axis2中的service包是以后綴.aar 命名的。一種你可以使用命令:ant generate.service(我沒用過)。還有一種就是從網(wǎng)上下載
插件,因為我用的intelliJ,下載后解壓到安裝
文件目錄plugins下。通過插件來打包,不管怎樣;打包完后應(yīng)該是有如下的結(jié)構(gòu):
StockQuoteService.aar
- services.xml
- StockQuoteService.wsdl
- StockQuoteService.class
注意:package應(yīng)該和META-INF在同一目錄。
5. 上傳
服務(wù)。兩種
方法:一,直接把StockQuoteService.aar 文件拷貝到$tomcat_home$\webapps\axis2\WEB-INF\services 下,重新啟動tomcat,打開瀏覽器,輸入:http://localhost:[port]/axis2/ 進(jìn)入管理界面,在左側(cè)欄目中點擊:“Available Services”可以看到服務(wù)已經(jīng)上傳了。二,在管理界面左側(cè)欄目中,點擊“Upload Service”上傳也可以。
6. 在瀏覽器中輸入:http://localhost:[port]/axis2/services/StockQuoteService?wsdl 如果沒錯,ok 再輸入:http://localhost:[port]/axis2/services/StockQuoteService?xsd 還沒錯
那說明服務(wù)已經(jīng)布置好了。
7. 測驗一下,AXIOMClient.java 編譯成class文件
執(zhí)行一下,得到結(jié)果:Current
price of WSO: 42 好了,服務(wù)調(diào)用完成。
注意:在AXIOMClient.java 文件中注意端口port:
private static EndpointReference targetEPR =
new EndpointReference(
"http://localhost:[port]/axis2/services/StockQuoteService");
至于其他的如:傳輸機(jī)制等你也自己看的懂,不多說了。
請多指教?。。?!
繼續(xù)學(xué)習(xí)中 -- yxxiao0929
我的Email:xyx-820929@163.
com