spring整合webservice过程详解

spring整合webservice过程详解

一.什么是webservice
WebService是一种跨编程语言和跨操作系统的远程调用技术 ,webservice和websocket的区别,可以看这里:webservice和websocket有什么区别

二.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方法的内容。
@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服务发布和调用已经完成。

Comments are closed.