Spring集成AXIS2的Web service配置方法
1、引入Axis2服务端的jar包,可以从axis2-web/lib目录下找到。
2、引入Spring支持的jar包。
3、在Web.xml中添加Spring引用
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/classes/applicationContext.xml </param-value>
</context-param>
4、在WEB-INF/services/下新建一个文件夹,这个名字可以起的随便,我们就起做test吧,然后在WEB-INF/services/test/下建立META-INF这个目录,最后在WEB-INF/services/test/META-INF/下建立service.xml
在services.xml中配置如:
<?xml version="1.0" encoding="UTF-8"?>
<serviceGroup>
<!-- Spring 发布为WebService -->
<service name= "SpringService" >
<description>simple spring example</description>
<parameter name= "ServiceObjectSupplier" >
org.apache.axis2.extensions.spring.receivers.SpringAppContextAwareObjectSupplier
</parameter>
<parameter name= "SpringBeanName" >springService</parameter>
<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>
</service>
</serviceGroup>
5、在web.xml里,添加Axis2的配置,如:
<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>/servlet/AxisServlet</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>*.jws</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
6、定义接口,并开发实现类,同时在applicationContext.xml中添加配置信息。如:
(记住第一个bean,也就是applicationContext那个一定要有)
<!-- 引入Axis2的Bean -->
<bean id="applicationContext"
class="org.apache.axis2.extensions.spring.receivers.ApplicationContextHolder" />
<!-- 配置WS Bean -->
<bean id="springService" class="com.spring.axis2.SpringServiceImpl"></bean>
7、之后发布一下,在没有异常的情况下。访问一下http://<host>:<port>/<project name>/services/SpringService?wsdl 看看