Web Service 入门
Web Service 简介
Web Service 技术,能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件,就可相互交换数据或集成。依据 Web Service 规范实施的应用之间,无论它们所使用的语言、平台或内部协议是什么,都可以相互交换数据。
Web Service 是一种跨编程语言和跨操作系统平台的远程调用技术。
详细信息: WebService百度百科
WebService 的原理
XML+XSD,SOAP 和 WSDL 就是构成 WebService 平台的三大技术
SOAP 协议 = HTTP 协议 + XML 数据格式
WebService 开发可以分为服务器端开发和客户端开发两个方面
对客户端而言,我们给这各类 WebService 客户端 API 传递 wsdl 文件的 url 地址,这些 API 就会创建出底层的代理类,我调用 这些代理,就可以访问到 webservice 服务。代理类把客户端的方法调用变成 soap 格式的请求数据再通过 HTTP 协议发出去,并把接收到的 soap 数据变成返回值返回。
对服务端而言,各类 WebService 框架的本质就是一个大大的 Servlet,当远程调用客户端给它通过 http 协议发送过来 soap 格式的请求数据时,它分析这个数据,就知道要调用哪个 java 类的哪个方法,于是去查找或创建这个对象,并调用其方法,再把方法返回的结果包装成 soap 格式的数据,通过http响应消息回给客户端。
JAVA WebService 规范
Java 中共有三种 WebService 规范,分别是 JAXM&SAAJ、JAX-WS(JAX-RPC)、JAX-RS。
Web Service 服务端开发
创建一个 WebService 实例,实现服务端发布,客户端获取信息的功能。
使用 idea 创建 springboot 项目,配置 WebService 和 web 依赖1
2
3
41.编写 WebService 接口方法
public interface HelloWebService {
String sayHello(String name);
}
1 | 2.实现接口,作为 webservice 提供服务类 |
1 | 3.发布服务 |
1 | 4.浏览器输入 `http://localhost:8081/WebService?wsdl` 测试服务是否发布成功 |
Web Service 客户端实现
访问http://localhost:8081/WebService?wsdl
,将文档下载保存为 wsdl 格式
idea 解析 wsdl 文件反向生成代码
用 idea 新建一个 java 项目,导入 wsdl 文件
wsdl 文件右键点击–> WebServices –> Generate Java Code From Wsdl –>选择解析规范 JAX-WS(idea自带)
1 | 编写客户端 |
直接执行,控制台成功输出