源内容(英文)
Web 服务(Web Service)是一种让不同的应用程序或系统在互联网上进行通信并共享数据的方式,即使它们构建在不同的平台或语言之上。SOAP 和 WSDL 都是此类 Web 服务中使用的基于可扩展标记语言(XML)的技术。SOAP 代表简单对象访问协议,定义了用于通信的消息协议。WSDL 代表 Web 服务描述语言,用于描述 Web 服务的能力以及如何访问它们。
简单对象访问协议 (SOAP)
它是一种基于 XML 的网络协议,用于在节点之间交换结构化数据。它运行在应用层协议(如 HTTP 和 SMTP)之上,用于格式化和传输消息。它确保消息是独立于平台的,并且可以被不同的系统读取。
!SOAPSimple Object Access Protocol (SOAP)
SOAP 消息的架构
其架构中包含 4 个层:
- Envelope(信封):包装整个消息。
- Header(标头)(可选):包含身份验证等信息。
- Body(主体):保存实际数据或请求。
- Fault(错误)(可选):提供错误处理信息。
示例
让我们考虑一个 SOAP 消息示例:
> <soapenv:Envelope xmlns:soapenv="https://schemas.xmlsoap.org/soap/envelope/"
>
> xmlns:gfg="https://www.geeksforgeeks.org/webservice/">
>
>
>
> ABC123XYZ
>
>
>
>
>
>
>
> 12345
>
>
>
>
>
>
当客户端想要从 Web 服务获取文章详情时,它会发送一条 SOAP 消息,其中在 Body 中包含请求(例如 ArticleID),并在 Header 中包含 AuthToken。服务器检查令牌以进行身份验证,处理请求,并发送回一条 SOAP 响应,在响应 Body 中包含请求的文章详情。
SOAP 的特性
它比 WSDL 具有更多的支持性,因为它具有三个重要特性:
- 独立性: SOAP 可以跨不同的操作系统和编程语言工作。
- 中立性: 它可以使用各种传输协议,如 HTTP、SMTP 或 TCP。
- 可扩展性: SOAP 允许通过标头添加额外的功能(如安全性或事务),而不会破坏现有功能。
> 阅读更多关于 简单对象访问协议 (SOAP) 的内容。
Web 服务描述语言 (WSDL)
它是由 IBM 和 Microsoft 共同开发的,并于 2007 年 6 月 26 日被 W3C 确认。它是一种基于 XML 的接口定义语言,用于描述 Web 服务的功能。通常,典型的 WSDL 定义了与基于 XML 的服务的实现和通信过程。
!WSDLWSDL Document Structure
WSDL 文档的架构
其架构中包含四个主要元素:
****:指定 Web 服务将使用的数据类型(使用 XML Schema)。****:描述在每个操作中交换的各个数据部分。****:列出可用的操作以及它们用于输入和输出的消息。****:指示与每个操作关联的通信协议和消息格式。
示例
下面给出一个简单的示例,用于理解如何在 WSDL 中定义消息和操作:
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
在此,
simpleRequest:包含一个字符串参数的输入消息。simpleResponse:包含一个字符串结果的输出消息。SimpleService:服务接口。getResult:正在执行的操作(例如查找或计算)。
> 阅读更多关于 Web 服务描述语言 (WSDL) 的内容。
WSDL
—
它是基于 XML 的接口定义语言。| 它在架构中由四层组成。