AXIS2集成到自己的WebApp中

最近在做WebService的項目用到了AXIS2但是不知道怎麼才能把AXIS2集成到我自己的工程中在這裏做一下小記以便日生用到。

關於AXIS2怎麼發佈WebService網上的例子都是直接用的Axis2 war這裏就不做介紹了。其實將AXIS2集成到自己的工程中只需要以下幾步就可以輕鬆實現:

1.建立自己的WebApp

2.將Axis2 war解出來將WEB-INF中的conf 和 services 拷到你自己工程的WEB-INF下面(如圖)



 

3.將web.xml中添加AXIS2相關的Servlet配置如下:

<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>

4.將services下新建 xxx/META-INF(xxx爲任意名)

5.在services/xxx/META-INF下新建services.xml內容如下:

<serviceGroup>
      <!-- name 爲服務名 scope指定 服務的範圍 -->
	<service name="webservice" scope="application">
		<description>這裏是服務的描述</description>
		<parameter name="ServiceObjectSupplier">
		<!-- 這裏用到了Spring 所以要配置相關的Spring上下文 -->	org.apache.axis2.extensions.spring.receivers.SpringAppContextAwareObjectSupplier
		</parameter>
               <!-- 這裏配置的是實現服務的類的Bean ID 或 Bean name -->
		<parameter name="SpringBeanName">webservice</parameter>
		<operation name="execute">
			<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
				class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
		</operation>
		<!-- 可以配置多個 operation -->
                <!-- 默認情況下服務實現類中的所有公共方法都會暴露在WebService中 下面的配置是說明哪些公共方法不暴露在WebService中 -->
		<excludeOperations>
			<operation>getHandler</operation>
			<operation>setHandler</operation>
			<operation>getExceptionManager</operation>
			<operation>setExceptionManager</operation>
			
		</excludeOperations>
	</service>
</serviceGroup>

 6.將AXIS2的相關包引入到你的WebApp就OK了!

  • 465b5e3c-0312-3688-8d76-0fcff93255f8-thumb.jpg
  • 大小: 24.3 KB
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章