axis2 webservice服务端接口配置步骤

1:首先新建一个接口以及他的实现类。如下:

/**   
 * Copyright © 2016 公司名 (工业与信息化部)工信通(北京)信息技术有限公司
 * @Company:(工业与信息化部)工信通(北京)信息技术有限公司
 * @Title : ClassForNameReflectService.java
 * @Prject: autocode2
 * @Package : com.gxt.autocode
 * @Description: TODO
 * @author: 研发中心--罗文浩   
 * @date: 2016-3-23 上午10:48:35
 * @version: V1.0   
 */
package com.gxt.autocode.until;


/**
 * @ClassName: ClassForNameReflectService
 * @Description: TODO
 * @author: 研发中心--罗文浩
 * @date: 2016-3-23 上午10:48:35
 */
public interface ClassForNameReflectService {
    /**
     * 通过一个javabean反射成一个class<?>类型
     *
     * @Title: classfornameReflect
     * @Description: TODO
     * @param pojo
     * @return
     * @return: Class<?>
     */
    public Class<?> classfornameReflect(String pojo);
}

2:实现接口类

/**   
 * Copyright © 2016 公司名 (工业与信息化部)工信通(北京)信息技术有限公司
 * @Company:(工业与信息化部)工信通(北京)信息技术有限公司
 * @Title: ClassForNameReflectServiceImpl.java
 * @Prject: autocode2
 * @Package: com.gxt.autocode.service
 * @Description: TODO
 * @author: 研发中心--罗文浩   
 * @date: 2016-3-23 上午10:49:10
 * @version: V1.0   
 */
package com.gxt.autocode.until;



/**
 * @ClassName: ClassForNameReflectServiceImpl
 * @Description: TODO
 * @author: 研发中心--罗文浩
 * @date: 2016-3-23 上午10:49:10
 */
public class ClassForNameReflectServiceImpl implements ClassForNameReflectService {
    /*
     * (non Javadoc)
     *
     * @Title: classfornameReflect
     *
     * @Description: TODO
     *
     * @param pojo
     *
     * @return
     *
     * @see
     * com.gxt.autocode.service.ClassForNameReflectService#classfornameReflect
     * (java.lang.String)
     */
    @Override
    public Class<?> classfornameReflect(String pojo) {
        Class<?> cls = null;
        try {
            cls = Class.forName(pojo);
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return cls;
    }
}

3:在spring配置文件中配置java类的映射以及配置axis2类加载。如果用的springmvc直接@service


<!--axis2类加载-->

<bean id="applicationContext" class="org.apache.axis2.extensions.spring.receivers.ApplicationContextHolder" />

<!--webservice 服务端接口-->

<bean id="myWS" class="com.gxt.autocode.until.ClassForNameReflectServiceImpl"></bean>

4:在项目中WEB-INF下面配置service.xml配置文件。

WEB-INF下面新建services-->myWS-->META-INF-->service.xml:如图所示

5:配置services.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<service name= "ClassReflectService" >
    <description>axis ws</description>
    <parameter name= "ServiceObjectSupplier" locked="false">
        org.apache.axis2.extensions.spring.receivers.SpringAppContextAwareObjectSupplier</parameter>
    <!-- WEB-INF下applicationContext bean的id -->
    <parameter name= "SpringBeanName" locked="false">myWS</parameter>
    <messageReceivers>
        <messageReceiver mep= "http://www.w3.org/2004/08/wsdl/in-out"
             class = "org.apache.axis2.rpc.receivers.RPCMessageReceiver"  />
        <messageReceiver mep= "http://www.w3.org/2004/08/wsdl/in-only"
             class = "org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"  />
    </messageReceivers>
</service>

说明:service name= "ClassReflectService"  这个名称是访问地址webservice的名称

6:配置web.xml,访问地址以及axis2启动

<!-- lwh  add -->
  <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>
 <!-- lwh add end -->


这样既可启动以及访问axis2生成的webservice接口服务端

http://***:8080/项目名/services/ClassReflectService?wsdl

你可能感兴趣的:(axis2 webservice服务端接口配置步骤)