微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐