webservice axis2(Axis2框架简单实现)

    1. 部署Axis2的war包
  1. 将WAR distribution中的axis2.war包解压并复制到Tomcat的webapps文件夹中。

 

(2)双击Tomcat/bin目录下的startup.bat启动Tomcat,自动解压webapps下的war包。

 

 

(3)在浏览器地址栏中输入war包地址:

会在Tomcat下生成一个axis2的文件,通过Tomcat再访问:

点击Services,发现发布了一个Version版本,并没有发布服务,这是我们后面要操作的。

  

接下来实现由Eclipse发布服务到Tomcat。

  

    1. 在Eclipse中安装Axis插件

(1)下载axis2的两个插件,解压后将里面的 jar包复制到eclipse安装地址的plugins插件文件夹中。

(2)重启Eclipse,ctrl + N在创建里输入axis,就有:

检测是否存在上图选项。

 

    1. 创建服务端java项目

(1)创建接口与方法

(2)创建接口实现类,重写方法

(3)保存。在bin目标下生成.class文件。

 

    1. 发布服务

(1)创建Axis

(2)输入Class文件路径

勾选 SKIP WSDL

选择自动生成XML文件,下一步,再下一步。

(3)填写服务的名字,实现类的地址,点击:Load

勾选 只要声明的方法

填写输出的地址及输出的文件名

最后在桌面生成一个.aar的文件,这是Axis2的包。

 

    1. 将.aar包复制到Tomcat下的axis2/WEB-INF/services

 

    1. 重启Tomcat,输入地址测试,发现在Version下面有暴露的方法

点击:personService就会产生一个xml文件

 

现在只在一启动tomcat就会发布这个服务。

 

    1. 用Eclipse自带的工具测试

 

    1. 编写客户端来获取发布的服务

(1)创建java客户端,接下来创建axis,选择第一个

(2)选择通过java代码生成WSDL文件

(3)填写WSDL文件路径

下一步,选择输出的路径(这里放本客户端源码地址,到项目名地址即可,它会自动放到src文件夹中)

(4)ok后查看客户端项目中会多出一个

报错的原因是因为这是在java项目,缺少axis的依赖包,动手导下即可。

导入axis2-1.7.3-bin/bin下面所有的jar包。

创建一个包,建个测试类测试下。

try {

    PersonServiceStub personServiceStub=new PersonServiceStub();

    Eat eat=new Eat();

    eat.setWho1("雨田君");

    eat.setWho2("婆婆辉");

    EatResponse response=personServiceStub.eat(eat); //这里将eat看成一个对象了

    String str=response.get_return();

    System.out.println(str);

} catch (AxisFault e) {

    e.printStackTrace();

} catch (RemoteException e) {

    e.printStackTrace();

}

关键是WSDL那文件

 

 

 

 

 

 

猜你喜欢

转载自blog.csdn.net/qq_41277773/article/details/84887904