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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值