-
- 部署Axis2的war包
- 将WAR distribution中的axis2.war包解压并复制到Tomcat的webapps文件夹中。
(2)双击Tomcat/bin目录下的startup.bat启动Tomcat,自动解压webapps下的war包。
(3)在浏览器地址栏中输入war包地址:
会在Tomcat下生成一个axis2的文件,通过Tomcat再访问:
点击Services,发现发布了一个Version版本,并没有发布服务,这是我们后面要操作的。
接下来实现由Eclipse发布服务到Tomcat。
-
- 在Eclipse中安装Axis插件
(1)下载axis2的两个插件,解压后将里面的 jar包复制到eclipse安装地址的plugins插件文件夹中。
(2)重启Eclipse,ctrl + N在创建里输入axis,就有:
检测是否存在上图选项。
-
- 创建服务端java项目
(1)创建接口与方法
(2)创建接口实现类,重写方法
(3)保存。在bin目标下生成.class文件。
-
- 发布服务
(1)创建Axis
(2)输入Class文件路径
勾选 SKIP WSDL
选择自动生成XML文件,下一步,再下一步。
(3)填写服务的名字,实现类的地址,点击:Load
勾选 只要声明的方法
填写输出的地址及输出的文件名
最后在桌面生成一个.aar的文件,这是Axis2的包。
-
- 将.aar包复制到Tomcat下的axis2/WEB-INF/services
-
- 重启Tomcat,输入地址测试,发现在Version下面有暴露的方法
点击:personService就会产生一个xml文件
现在只在一启动tomcat就会发布这个服务。
-
- 用Eclipse自带的工具测试
-
- 编写客户端来获取发布的服务
(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那文件