最近在做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了!
AXIS2集成实战
本文详细介绍了如何将AXIS2集成到自定义Web应用程序中,包括配置步骤、关键文件及目录结构设置等,并展示了如何通过配置文件指定服务范围和服务实现类。
385

被折叠的 条评论
为什么被折叠?



