这是基于在ssh整合上使用axis,所以之前的整合就不说了。
1.首先,导入axis的依赖:
<!-- 引入Axis2依赖 -->
<dependency>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2</artifactId>
<version>1.6.2</version>
</dependency>
<dependency>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-transport-http</artifactId>
<version>1.6.2</version>
</dependency>
<dependency>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-transport-local</artifactId>
<version>1.6.2</version>
</dependency>
<dependency>
<groupId>org.apache.xmlbeans</groupId>
<artifactId>xmlbeans</artifactId>
<version>2.4.0</version>
</dependency>
<!-- axis2整合spring -->
<dependency>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-spring</artifactId>
<version>1.6.2</version>
</dependency>
2.在我的项目里,新建一个包,里面就是写你放出服务(数据)的接口;
这里吗就是我写服务的接口: 我这里就写了一些简单的返回数据,你可以写你需要返回的数据:
3.然后写一个配置文件,配置你刚刚所写的服务接口:applicationContext-wx.xml
4.在这里面写配置信息:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<!-- 配置那个包下面的类被发布出去 -->
<bean id="userImpl" class="com.ws.UserImpl">
</bean>
<!-- 配置axis交给Spring来管理 -->
<bean id="applicationContext" class="org.apache.axis2.extensions.spring.receivers.ApplicationContextHolder"></bean>
</beans>
5.然后,在你的项目的webapp下面的WEB-INF新建一个文件夹 services,然后spring,然后找到你的tomcat,找到之前放入你tomcat里面的axis2,然后再在spring下面建一个文件夹,文件夹的名字和(META-INF)一致,
之后在META-INF里面写一个xml文件: services.xml:
<?xml version="1.0" encoding="UTF-8" ?>
<serviceGroup>
<service name="DesertService" scope="application"> //这个DesertService就是你服务的名字
<description>simple spring example</description>
<parameter name="ServiceObjectSupplier">
org.apache.axis2.extensions.spring.receivers.SpringAppContextAwareObjectSupplier
</parameter>
<parameter name="SpringBeanName">userImpl</parameter> //然后这个userImpl就是你刚刚所写的接口
<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里面加载你刚刚所配置的services.xml文件:
<!-- 加载services.xml -->
<servlet>
<servlet-name>axis2</servlet-name>
<servlet-class>org.apache.axis2.transport.http.AxisServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>axis2</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
6.就这样就可以了,只要你一把你的项目发布,你的服务就直接发布,然后就可以访问拿到你所想要的数据。
如果你不确定你的服务是否发布成功,你可以去测试一下,在这里先将这个axis2-web(官网下载的)文件夹考入到你的webapp下面,
然后打开,你会发现一堆堆的jsp页面:
,然后这个listServices就是关键了,然后你可以在浏览器地址栏输入你的项目,然后后面街上listServices 记住,不用加jsp,这样再看一下是否可以访问到你的服务,如果访问到了就成功了!!!!!