发布服务
老版:使用jdk自带的wsimport开启@webservice注解
新版:使用axis2提供的插件发布服务
1.去apache官网下载Axis2,点击Projects
找到Axis2的产品,点击进去
选择你所需要下载的进行下载,我这几个全部下载了。
解压其中的后缀名为war的,然后复制其中的axis2.war(apache官方写好的管理发布服务的项目)
2.然后启动Tomcat服务(可以通过任务管理器和tomcat下的bin目录下的Tomcat8.exe程序启动)
启动之后,去浏览器地址栏输入访问它
然后点击它的Services,可以看到此项目管理的服务类和方法,等下我们自己发布的服务会出现在Services里面。
前面两篇博客WebService都是使用jdk下面的wsimport.exe命令,发布项目的,现在使用axis2提供的插件发布服务。
3.安装axis提供的代码自动生成插件和发布服务的插件
解压在两个文件夹,将里面的的两个jar包复制到eclipse的安装目录下的
文件下
4.然后重启eclipse,插件安装完成
我们利用这两个插件帮助我们自身发布服务和使用第三方服务。
cctrl+n查看插件是否安装成功
5.找到我们需要发布服务的项目
和使用jdk的wsimport命令不一样的是,服务类不用启用@webservice注解
直接ctrl+n,点击它
选择需要发布的项目的存在路径,bin文件夹下是已经编译好的class文件src下的是源文件。
然后点击next,跳过wsdl文件(因为服务还没有发布,所以不存在有它的wsdl文件)
点击next
写好服务的名称和服务类的路径
点击next
服务类生成服务成功!
6.去刚刚选择输出的文件路径查看是否有该文件
7.然后重启tomcat
然后地址栏重新访问http://localhost:8080/axis2/项目
会发现和起始的项目有些不同,多出服务类的东西
会发现和使用jdk自带的wsimport生成的wsdl文件,一摸一样
我们重新捋一下顺序:
将axis2提供的管理服务的项目复制到tomcat的webapps—>然后装插件----->将需要发布的服务的项目提交到插件中---->由插件生成服务类的wsdl的代码
调用服务
1.新建一个Java项目
选中ctrl+n
点next
2.第三方服务类生成成功,刷新WebService_client项目。
发现项目报错,是因为关于Axis2的jar包没有拷到项目中来
然后在项目新建一个lib文件夹,把这个目录下的Jar包考进去,并且导入到项目中去
小贴士:按住shift从起始位置到最后一个jar包,复制
然后项目就不报错了
3.测试获取服务端数据
新建一个TestWsdl.java
package com.server.webservice;
import org.apache.axis2.AxisFault;
/**
*
* @ClassName: TestWsdl
* @Description:测试获取服务数据的类
* @author 小思
* @date 2018年10月17日 下午10:13:21
*
*/
public class TestWsdl {
public static void main(String[] args){
//服务类的实现类
try {
IDCARDServiceStub idcardServiceStub=new IDCARDServiceStub();
Test test=new Test();
test.setName("严");
//方法的执行之后的响应
TestResponse test2 = idcardServiceStub.test(test);
//获取返回的数据
String get_return = test2.get_return();
System.out.println(get_return);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
说在最后的话:编写实属不易,若喜欢或者对你有帮助记得点赞+关注或者收藏哦~