什么是Web Service(SOAP)?

2022-09-15 16:50:02 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

SOAP请求(Simple Object Access Protocol,简单对象访问协议)是HTTP POST的一个专用版本,遵循一种特殊的XML消息格式,Content-type设置为:text/xml ,任何数据都可以XML化。

SOAP:简单对象访问协议。SOAP是一种轻量的,简单的,基于XML的协议,它被设计成在web上交换结构化的和固化的信息。SOAP可以和现存的许多因特网协议和格式结合使用,包括超文本传输协议(HTTP),简单邮件传输协议(SMTP),多用途网际邮件扩充协议(MIME)。它还支持从消息系统到远程过程调用(RPC)等大量的应用程序。

SOAP是一个基于XML的协议交换信息,可以使用HTTP来传输这些信息。事实上HTTP是SOAP消息的最常见的传输工具。SOAP将信息进行XML的序列化后,再用HTTP协议的方式再打包进行传送,传送的方式还是TCP或者UDP。做个比喻就好理解了。TCP和UDP都是公路,暂且把TCP认为是一般公路,UPD高速公路,SOAP和HTTP就都是汽车,那么SOAP和HTTP都可以在TCP和UDP上跑。说SOAP可以通过HTTP来传送,实际就是说SOAP是小轿车,HTTP是装轿车的卡车,把SOAP的信息装到HTTP里面,然后再运输,当然走的道路还是TCP或UDP。说SOAP通过HTTP协议来传输,这句话不太准确,比较准确的说法是:SOAP信息可以通过HTTP协议包装后通过TCP或UDP传输。

它定义了一个框架 , 该框架描述了消息中的内容是什么,谁应当处理它以及它是可选的还是必须的。

  SOAP 编码规则:它定义了一种序列化的机制,用于交换应用程序所定义的数据类型的实例。

  SOAP RPC 表示:它定义了用于表示远程过程调用和应答的协定。

  SOAP 绑定:定义了一种使用底层传输协议来完成在节点间交换SOAP封装的约定。

  SOAP 消息基本上是从发送端到接收端的单向传输,但它们常常结合起来执行类似于请求 / 应答的模式。所有的 SOAP 消息都使用 XML 编码。一条 SOAP 消息就是一个包含有一个必需的 SOAP 的封装包,一个可选的 SOAP 标头和一个必需的 SOAP 体块的 XML 文档。

  把 SOAP 绑定到 HTTP 提供了同时利用 SOAP 的样式和分散的灵活性的特点以及 HTTP 的丰富的特征库的优点。在HTTP上传送 SOAP 并不是说 SOAP 会覆盖现有的 HTTP 语义,而是 HTTP 上的 SOAP 语义会自然的映射到 HTTP 语义。在使用 HTTP 作为协议绑定的场合中, RPC 请求映射到 HTTP 请求上,而 RPC 应答映射到 HTTP 应答。然而,在 RPC 上使用 SOAP 并不仅限于 HTTP 协议绑定。

  SOAP也可以绑定到TCP和UDP协议上。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/164066.html原文链接:https://javaforall.cn

0 人点赞