天天看點

【webservice】如何釋出axis2的webservice服務端

axis2版本:axis2-1.5.4

準備工作:下載下傳axis2-1.5.4-war.zip(生成服務端)、axis2-1.5.4-bin.zip(axis2的jar包),jdk5(及以上版本)、tomcat(端口我設成8086了)

手把手超級詳細介紹axis2的webservice服務端的生成與釋出。

1. 解壓axis2-1.5.4-war.zip得axis2.war,把axis2.war放到tomcat的webapps目錄, 啟動tomcat(注意tomcat控制台的資訊)就能加載axis2.war并生成新的axis2目錄,打開浏覽器通路http://localhost:8086/axis2/ 則能顯示axis2初始化的頁面,點選“Services”超連結到http://localhost:8086/axis2/services/listServices,該頁面将顯示所有釋出到該axis2目錄的webservice。

2、上一步驟提到的axis2目錄,玩家們一般會改成具有業務特色的名字,這裡示例就改成pp吧(先關閉tomcat),重新開機tomcat,通路的url就要改為http://localhost:8086/pp/。

3、點選“ Services”超連結到http://localhost:8086/pp/services/listServices,初始釋出預設有1個叫“Version”的webservice。完事後記得删掉axis2.war(不然會生成新的axis2目錄)。

4、接下來添加自己寫的webservice。開發工具用myeclipse或者eclipse,建立java project, 這裡示例工程tttt,在tttt裡面建立個檔案夾,取名lib,放上axis2的jar包(由axis2-1.5.4-bin.zip解壓可得,全放上就可以了),再把jar包導入到tttt工程。工程内建立package:com.tttt.server,建立類:com.tttt.server.Hello,程式設計如圖示:

【webservice】如何釋出axis2的webservice服務端

5. 吧工程導出成aar檔案,做法:工程tttt右擊選擇export--- JAR file---把右上角的鈎鈎去掉---導出檔案名随便改,如下圖。

【webservice】如何釋出axis2的webservice服務端

6. 建立services.xml。關于這個webservice的配置文檔,也是有一定技巧的,總之每個aar對應1個services.xml,具體的标簽說明、配置介紹請自行谷哥,萬能的配置内容如下:

<!-- webservice配置檔案   -->
<service name="tttt_Service" >
<pre code_snippet_id="333816" snippet_file_name="blog_20140508_1_3148583" name="code" class="html"><span style="font-family: Arial, Helvetica, sans-serif;"><!-- 上面是webservice的命名,可自行修改   --></span>
           

<description>Please Type your service description here</description><messageReceivers><messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only" class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" /><messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out" class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/></messageReceivers><parameter name="ServiceClass">com.tttt.server.Hello</parameter></service>

7. (用解壓軟體打開這個jar包)把這個services.xml放到tttt.jar-META-INF目錄下,接着把字尾名jar改成aar,放到D:\Program Files\apache-tomcat-6.0.36\webapps\pp\WEB-INF\services, 重新開機tomcat。

8. 打開http://localhost:8086/pp/services/listServices可以看到tttt_Service,點選就是它的wsdl(一個符合soap協定的xml,大概這樣了解吧),釋出成功了。别人就能更加你提供的wsdl(url或者wsdl文檔)生成用戶端代碼鳥。

【webservice】如何釋出axis2的webservice服務端

9. 轉載請說明出自Whilejolly:http://blog.csdn.net/seedingly/article/details/25289257

想要弄更加複雜的功能,例如要傳回json資料就要向工程另外導入json的jar包,要拼xml資料就要dom4j之類的jar包,這些axis2以外的jar包可放在D:\Program Files\apache-tomcat-6.0.36\webapps\pp\WEB-INF\lib,也就是pp的lib目錄。webservice可以傳回自定義對象的 ,這樣的話用戶端程式設計會稍稍麻煩些,是以,把傳回資訊弄成json或者xml會規範一點。