Web Service 是一种跨语言和跨操作系统的远程调用技术
跨编程语言:指的是服务程序可以用 java 编写,而客户端程序则可以采用其他编程语言编写;
跨操作系统:指的是服务端程序和客户端程序可以在不同的操作系统上运行;
远程调用:指的是 a 计算机可以调用 b 计算机的一个方法;
实际运用场景:天气预报,支付宝,火车票,股票等等。。。
总结:WebService 就是一个应用向外界暴露出一个能通过 Web 进行调用的 api,我们把调用 WebService 的应用程序叫做客户端,把提供 WebService 的应用程序叫做服务端。我们可以用任何喜欢的语言,在任何喜欢的平台上写 Webservice ,然后可以通过 Webservice 标准对这些服务进行查询和访问。
WebService 采用 HTTP 协议传输数据;采用 XML 格式封装数据(XML 中会说明调用了远程服务对象的什么方法,传递的什么参数,服务返回的结果)。XML 是 WebService 平台中表示数据的格式。XML 主要的优势在于它与任何平台厂商都无关,因此人人可用。试想,阿里会使用京东制定的数据格式吗?
WebService 平台使用 XSD 来作为其数据类型。XML Schema(XSD) 定义了一套标准的数据类型,并提供一种语言来扩展这套数据类型。当你使用任意语言 (如 vb 或 java) 来构造一个 Webservice 时,你使用的数据类型都必须被转换为 XSD 类型。
WebService 通过 http 协议发送请求和接收结果,请求内容和结果内容采用 xml 格式进行封装,并加入了一些特定的 http 信息头用来说明消息的格式。soap 提供了标准的 rpc 方法来调用 WebService。
SOAP 协议 = HTTP 协议 + XML 格式
WSDL 基于 XML 格式,它是客户端和服务器端都能理解的标准格式。客户端想要调用一个 WebService 服务,首先要知道这个服务的地址,调用方法。所以 WebService 服务端首先会通过一个 WSDL 文件来说明自身可以对外调用的服务方法,参数,url,返回值。
WSDL 文件通常保存在服务器上,我们可以通过 url 去访问。客户端在调用一个 WebService 服务之前,首先要知道该服务的 WSDL 文件地址。