轉(zhuǎn):axis2的配置和一個(gè)簡(jiǎn)單調(diào)用實(shí)例作者:phoebus0501 | 出處:博客園 | 2011/12/5 15:26:53 | 閱讀13次
最近有一個(gè)項(xiàng)目要用webservice開(kāi)發(fā),聽(tīng)說(shuō)Axis2不錯(cuò),所以就去apache下載下來(lái),因?yàn)榈?A title=一次 href="http://www./tag/%E4%B8%80%E6%AC%A1" target=_blank>一次用,不熟悉,只好去網(wǎng)上搜搜文章,發(fā)覺(jué)網(wǎng)上這方面的介紹很少,要不就是講的太簡(jiǎn)單了,不好上手,只好去看Axis2自帶的文檔。經(jīng)過(guò)幾天的學(xué)習(xí),調(diào)通了一個(gè)實(shí)例。就和大家一塊探討學(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./axis2/下載Standard Binary Distribution、WAR Distribution。 2. 把Standard Binary Distribution解壓,如:$AXIS2_HOME$ = D:\axis2-1.1.1。 3. 把WAR Distribution 解壓到 $tomcat_home$\webapps\axis2下(注意:這里的axis2文件夾需要你手動(dòng)添加),或者你也可以參照axis2文檔的步驟用 ant 創(chuàng)建一個(gè)axis2.war ,放到$tomcat_home$\webapps下,然后啟動(dòng)tomcat ,那么tomcat會(huì)在webapps下自動(dòng)創(chuàng)建一個(gè)axis2文件夾。 4. 設(shè)置環(huán)境變量:建立JAVA_HOME和AXIS2_HOME,添加你的jdk和axis2的存放地址,同時(shí)把他們的bin添加到path。這樣做主要是方便下來(lái)生成wsdl文件。 5. 你可能還有把$tomcat_home$\webapps\axis2\WEB-INF\lib下的這些*.jar包添加到環(huán)境變量的classpath 。當(dāng)然如果你使用IDEA的話可能就不用了。 三、測(cè)試: 1. 啟動(dòng)tomcat 打開(kāi)瀏覽器,輸入:http://localhost:[port]/axis2/ 應(yīng)該可以進(jìn)入axis2的歡迎界面了。點(diǎn)擊“Validate”如果沒(méi)有報(bào)錯(cuò),應(yīng)該說(shuō)環(huán)境已經(jīng)搭建好了??! 2. 點(diǎn)擊“Administration”初始用戶名和密碼分別是:admin 和 axis2,當(dāng)然你也可以到$tomcat_home$\webapps\axis2\WEB-INF\conf\axis2.xml下通過(guò)修改用戶名和密碼。 四、一個(gè)簡(jiǎn)單實(shí)例 1. 用的實(shí)例是$AXIS2_HOME$\samples\quickstartaxiom 下的文件,這里有一個(gè)service :StockQuoteService.java,client:AXIOMClient.java 兩個(gè)java文件。 2. 編譯StockQuoteService.java 文件。我用的IDEA 是intelliJ。所以編譯完后class文件在$tomcat_home$\webapps\axis2\WEB-INF\classes \[package]. StockQuoteService.class ,這里package 我就不多說(shuō)了。 3. 生成wsdl文件。這里用axis2自帶的java2wsdl.bat 來(lái)生成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(我沒(méi)用過(guò))。還有一種就是從網(wǎng)上下載插件,因?yàn)槲矣玫膇ntelliJ,下載后解壓到安裝文件目錄plugins下。通過(guò)插件來(lái)打包,不管怎樣;打包完后應(yīng)該是有如下的結(jié)構(gòu): StockQuoteService.aar
- StockQuoteService.wsdl
注意:package應(yīng)該和META-INF在同一目錄。 5. 上傳服務(wù)。兩種方法:一,直接把StockQuoteService.aar 文件拷貝到$tomcat_home$\webapps\axis2\WEB-INF\services 下,重新啟動(dòng)tomcat,打開(kāi)瀏覽器,輸入:http://localhost:[port]/axis2/ 進(jìn)入管理界面,在左側(cè)欄目中點(diǎn)擊:“Available Services”可以看到服務(wù)已經(jīng)上傳了。二,在管理界面左側(cè)欄目中,點(diǎn)擊“Upload Service”上傳也可以。 6. 在瀏覽器中輸入:http://localhost:[port]/axis2/services/StockQuoteService?wsdl 如果沒(méi)錯(cuò),ok 再輸入:http://localhost:[port]/axis2/services/StockQuoteService?xsd 還沒(méi)錯(cuò) 那說(shuō)明服務(wù)已經(jīng)布置好了。 7. 測(cè)驗(yàn)一下,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ī)制等你也自己看的懂,不多說(shuō)了。 請(qǐng)多指教?。。?! 繼續(xù)學(xué)習(xí)中 -- yxxiao0929 我的Email:xyx-820929@163.com |
|