一.什么是webservice
关于webservice的介绍摘自百度百科,上面的介绍很详细。(链接:https://baike.baidu.com/item/Web%20Service/1215039?fr=aladdin)
二.springboot整合webservice
整合webservice的方式有很多,这里只是简单的和springboot做了一个整合。
1目录结构:
2.详细说明
(1)定义一个webservice接口,使用@WebService注解标明是一个webservice服务。
@WebService
public interface GreetWebService {
String greeting(String hello);
}
接口实现类,这里为了演示只是做了一个字符串的返回。
@WebService
public class GreetWebServiceImpl implements GreetWebService {
@Override
public String greeting(String hello) {
return "Good morning : "+hello;
}
}
(2)这是自己定义的一个bean,这个的意思就是当容器执行完成的时候会去加载run方法的内容。具体详见:https://www.cnblogs.com/wlv1314/p/12157768.html
@Component
public class MyListener implements ApplicationRunner {
@Value("${webservice.path}")
private String path;
@Override
public void run(ApplicationArguments args) throws Exception {
System.out.println("发布地址:"+path);
Endpoint.publish(path, new GreetWebServiceImpl());
System.out.println("发布成功");
}
}
这一步其实可以放到springboot的启动类里面去,就不用写上边的那一步了。
(3)在application.properties中配置上要发布的地址
webservice.path=http://127.0.0.1:9090/greet
到此,springboot整合webservice完毕。
3.验证是否发布成功。
3.1启动程序。
3.2打开浏览器:在地址栏输入 http://127.0.0.1:9090/greet?wsdl 记得要带?wsdl,如果出现xml页面则表明发布成功。
此时webservice服务已经发布成功,接下载我们做一个简单的测试。
4.创建webservice客户端
调用webservice接口也很简单,这里使用代理类的形式,所有的代码都会自动创建出来。
点击OK,代理会自动生成。
接下来就是调用发布的接口了。
执行main方法:
控制台输出:Good morning : tony
至此webservice服务发布和调用已经完成。