Axis2创建WebService实例 --- 接口发布

最近项目需要使用Axis2方式对外提供接口,项目是maven,在网上费尽心思的找了好久,相关maven axis2 项目搭建的文章都是前篇一律,最重要的是没有一个文章测试成功,不吐槽了,赶紧来一起来看看怎么使用Axis2创建WebService实例

开发环境

  • JDK1.8
  • Maven 3.6
  • IDEA

准备工作

  1. 从http://ws.apache.org/axis2/ 下载Axis2的最新版本

    image.png

  2. 将axis2-1.7.7-war.zip文件解压,解压其中axis2.war,其目录如下


    Axis2创建WebService实例 --- 接口发布_第1张图片
    image.png

项目搭建

  1. 新建Mvaen工程


    Axis2创建WebService实例 --- 接口发布_第2张图片
    image.png
  2. 在.pom文件中加入如下依赖,打包方式为war

        1.6.2

    



    

    

        org.apache.axis2

        axis2

        ${axis2.version}

    

    

        org.apache.axis2

        axis2-spring

        ${axis2.version}

    

    

        org.apache.axis2

        axis2-transport-http

        ${axis2.version}

    

    

        org.apache.axis2

        axis2-transport-local

        ${axis2.version}

    

    

        org.apache.axis2

        axis2-xmlbeans

        ${axis2.version}

    

    


  1. 将之前解压的axis2.war目录下WEB-INF中的除了classes 文件夹,其他都拷贝到Maven项目的WEB-INF目录下


    Axis2创建WebService实例 --- 接口发布_第3张图片
    image.png

    操作完后的maven目录结构如下


    Axis2创建WebService实例 --- 接口发布_第4张图片
    image.png
  2. 编写webService
    IHelloServiceImpl.java 内容如下:
public class IHelloServiceImpl implements IHelloService {
   public String sayHello(String name) {
       return "Hello," + name;
   }
}
  1. 对webService进行配置,配置文件WEB-INF/services/hello/META-INF/services.xml


    Axis2创建WebService实例 --- 接口发布_第5张图片
    image.png



    

    
    JNLPGenerator service
    
    
    
    com.test.axis2.IHelloServiceImpl
    
    
        
    


如果实际使用web.xml 可以根据需要更改,这里使用官方war包里面的web.xml

测试

  1. 将刚才axis2.war文件拷贝到tomcat的webapps 目录下,或者使用的IDEA直接在启动tomecat的时候进行配置。下面是IDEA下将axis2.war 放在tomcat的webapps目录步骤。 打开tomcat配置,进入Deployment 选项,在+号出添加外部war文件,找到磁盘上axis2.war的位置,点击Apply完成配置,启动Tomcat 。


    Axis2创建WebService实例 --- 接口发布_第6张图片
    image.png
  2. 访问http://localhost:8084/axis2/ (我的tomcat端口是8084),可以看到axis2首页,你已经成功了一半了。

    Axis2创建WebService实例 --- 接口发布_第7张图片
    image.png

  3. 访问http://localhost:8084/WS/services/hello?wsdl 看到如下的XML文件,基本就成功了

    Axis2创建WebService实例 --- 接口发布_第8张图片
    image.png

  4. 在浏览器测试接口调用方法传递参数看看结果,输入http://localhost:8084/WS/services/hello/sayHello?name=---bobo---

    Axis2创建WebService实例 --- 接口发布_第9张图片
    image.png

你可能感兴趣的:(Axis2创建WebService实例 --- 接口发布)