SSh框架 整合Axis2

来源:互联网 发布:淘宝怎么找以前的订单 编辑:程序博客网 时间:2024/06/16 03:12

步骤

建立,需要暴露的接口及实现类,引入依赖包入pom.xml中

<!-- 引入Axis2依赖 START-->    <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依赖 END-->       <!-- axis2整合spring  START -->    <dependency>        <groupId>org.apache.axis2</groupId>        <artifactId>axis2-spring</artifactId>        <version>1.6.2</version>    </dependency><!-- axis2整合spring  END --> 
  • 建立一个spring文件如:applicationContext-ws.xml(这个spring文件,要被加载)
   <!-- wsdl  这个名字,就是你服务的名字,类就是,必要暴露的方法的那个类--><bean id="MyWsdl" class="integrate.shiro.wsdl.ImpExpose"></bean><!-- 使 bean交个 spring 管理  id不可变 --><bean id="applicationContext" class="org.apache.axis2.extensions.spring.receivers.ApplicationContextHolder"></bean>
  • 在项目的WEB-INF文件夹下,建立一个services然后,在此文件夹内建立一个spring文件夹,然后,再到spring文件内建立META-INF文件夹,然后,在其内,建立一个,services.xml
    这里写图片描述

services.xml

<?xml version="1.0" encoding="UTF-8" ?><serviceGroup>      <!--这个服务id名字随你定 ,除了注解的要改,其他不动即可-->    <service name="MyWsdlService" scope="application">        <description>simple spring example</description>        <parameter name="ServiceObjectSupplier">            org.apache.axis2.extensions.spring.receivers.SpringAppContextAwareObjectSupplier        </parameter>              <!-- 你暴露的方法的那个bean的名字 -->        <parameter name="SpringBeanName">MyWsdl</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>

  • 配置web,映射AxisServlet,映射名不限定,此映射放在最后即可
<!-- 映射 AxisServlet  START-->    <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>    <!-- 映射 AxisServlet  END-->

调用暴露方式
调用流程,在这篇文章的最后面