eclipse安裝Axis2插件和簡單的webservice發佈

Axis2與CXF是如今很主流的WebService開發框架(java6也已經支持了),項目上還都是基本上用前兩種作開發,今天記錄一下我安裝Axis2插件在eclipse中的安裝和寫一個簡單的測試代碼。html

1、java

eclipse的版本爲Luna Release (4.4.0)web

Axis2的版本是1.6.2apache

下載地址爲:瀏覽器

1)、Axis2 Binary Distribution(1.6.2):http://mirror.bjtu.edu.cn/apache//axis/axis2/java/core/1.6.2/axis2-1.6.2-bin.zip (可執行版)tomcat

 WAR Distribution:http://mirror.bjtu.edu.cn/apache//axis/axis2/java/core/1.6.2/axis2-1.6.2-war.zip (這個是放在tomcat下可發佈的war包版)服務器

2)、eclipse的插件app

 

Service Archive Wizard - Eclipse Plug-in(用來將服務代碼打包成後綴名爲.aar文件的插件):框架

http://www.apache.org/dyn/mirrors/mirrors.cgi/axis/axis2/java/core/1.6.2/axis2-eclipse-service-plugin-1.6.2.zip(點擊直接能夠下載)eclipse

Code Generator Wizard - Eclipse Plug-in(用來將服務代碼生成wsdl文件以及解析將wsdl文件生成客戶端代碼的插件):

http://www.apache.org/dyn/mirrors/mirrors.cgi/axis/axis2/java/core/1.6.2/axis2-eclipse-codegen-plugin-1.6.2.zip(點擊直接能夠下載)

若是上面兩個包下載後有問題,能夠到這個裏下:

http://download.csdn.net/detail/dylan_chp/8625133

2、

先關閉eclipse,進入eclipse的文件中將上面下載的eclipse插件解壓到dropins文件目錄下(解壓的時候會生成plugins文件夾,我是把裏面生成的jar直接拷出來放在dropins文件夾裏面),以個人爲例:F:\eclipse\dropins。而後重啓eclipse,點擊File-New-Other有以下圖顯示,則表示安裝插件成功!

插件到此安裝完成!

 

3、生成aar文件:

寫一個簡單的服務器代碼:

[java] view plain copy

  1. package com.hwt.glmf.webservice;  
  2. /** 
  3.  * 測試的webservice 
  4.  */  
  5. public class MyService {  
  6.       
  7.     public String sayHello (String name){  
  8.         return name+"說了:hello!";  
  9.     }  
  10.       
  11. }  

而後File-New-Other--Axis2 Wizards-Axis2 Service Archiver(經過插件生產可發佈的aar文件)

到此步驟就能生成好名爲:MyService.aar的文件了,在桌面上用壓縮軟件打開這個aar文件能夠看到,結構與日常的war的結構非常類似。
再將service.xml解壓出來,能夠看到以下代碼:

 

[html] view plain copy

  1. <service name="MyService" >  
  2.     <description>  
  3.         Please Type your service description here  
  4.     </description>  
  5.     <messageReceivers>  
  6.         <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only" class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" />  
  7.         <messageReceiver  mep="http://www.w3.org/2004/08/wsdl/in-out"  class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>  
  8.     </messageReceivers>  
  9.     <parameter name="ServiceClass">com.hwt.glmf.webservice.MyService</parameter>  
  10. </service>  

這個就是配置文件,能夠看到這個配置的信息:

 

 

[html] view plain copy

  1. service name="MyService"  

表明的是webservice發佈的服務名

 

 

[html] view plain copy

  1. <parameter name="ServiceClass">com.hwt.glmf.webservice.MyService</parameter>  

是服務的連接的具體方法名。若是有多個webservice要發佈,且是同一個項目以內的話,能夠經過修改此配置文件與上面的class文件夾來達到發佈一個aar包多個webservice服務,有以下配置:

 

 

[html] view plain copy

  1. <serviceGroup>  
  2.     <service name="ManifestService" >  
  3.         <description>  
  4.             ManifestService  
  5.         </description>  
  6.         <messageReceivers>  
  7.             <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only" class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" />  
  8.             <messageReceiver  mep="http://www.w3.org/2004/08/wsdl/in-out"  class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>  
  9.         </messageReceivers>  
  10.         <parameter name="ServiceClass">com.hwt.glmf.webservice.ManifestService</parameter>  
  11.     </service>  
  12.     <service name="ManifestServiceQG" >  
  13.         <description>  
  14.             QYTG ManifestService  
  15.         </description>  
  16.         <messageReceivers>  
  17.             <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only" class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" />  
  18.             <messageReceiver  mep="http://www.w3.org/2004/08/wsdl/in-out"  class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>  
  19.         </messageReceivers>  
  20.         <parameter name="ServiceClass">com.hwt.glmf.qytgservices.ManifestServiceQG</parameter>  
  21.     </service>  
  22.     <service name="CipService" >  
  23.         <description>  
  24.             CipService  
  25.         </description>  
  26.         <messageReceivers>  
  27.             <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only" class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" />  
  28.             <messageReceiver  mep="http://www.w3.org/2004/08/wsdl/in-out"  class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>  
  29.         </messageReceivers>  
  30.         <parameter name="ServiceClass">com.hwt.glmf.externalinterface.cip.CipService</parameter>  
  31.     </service>  
  32. </serviceGroup>  

配置web.xml中Axis2的AxisServlet

 

[html] view plain copy

  1.     <servlet>  
  2.     <servlet-name>AxisServlet</servlet-name>  
  3.     <servlet-class>org.apache.axis2.transport.http.AxisServlet</servlet-class>  
  4.     <load-on-startup>1</load-on-startup>  
  5. </servlet>  
  6. <servlet-mapping>  
  7.     <servlet-name>AxisServlet</servlet-name>  
  8.     <url-pattern>/services/*</url-pattern>  
  9. </servlet-mapping>  

 

咱們這邊就是發佈上面寫的一個簡單的webservice接口,如今要說的是發佈這個webservice接口(有放在下載的Axis2的war包中一塊兒發佈的版本,此篇文章不作介紹,就是介紹在web項目中發佈webservice接口),能夠將此文件放在新建的web項目的WebRoot-->WEB-INF-->services目錄下,在將再下載的Axis2 Binary Distribution(1.6.2)解壓,生成的文件夾下面的lib目錄中將全部的jar包拷入到lib中。啓動項目的時候就會將次webservice發佈出去。在瀏覽器中輸入以下地址(下面的是本機地址,若是是訪問別的機子,將localhost:8080修改爲對應的IP以及端口號便可):

 

 

[html] view plain copy

  1. http://localhost:8080/QYTG/services/MyService?wsdl  

有以下顯示的則是成功了:

 

 

到了此步驟就是Axis2的webservice接口發佈成功了!由於Axis2有不少種生成客戶端代碼的方法,因此再開一篇介紹Axis2的客戶端代碼的生成。

相關文章
相關標籤/搜索