无需二次开发,SOAP

编程入门 行业动态 更新时间:2024-10-28 10:33:04

无需二次开发,<a href=https://www.elefans.com/category/jswz/34/1768421.html style=SOAP"/>

无需二次开发,SOAP

本篇文章分析了 SOAP-to-REST 的多种实现方式,并介绍如何使用 APISIX 做零代码代理。

作者罗锦华,API7.ai 技术专家/技术工程师,开源项目 pgcat,lua-resty-ffi,lua-resty-inspect 的作者。

原文链接

1. 什么是 Web Service

Web Service 由万维网联盟 (W3C) 定义为一种软件系统,旨在支持通过网络进行可互操作的计算机间交互。

Web Service 完成特定任务或任务集,并且由名称为 Web Service 描述语言 (WSDL) 的标准 XML 表示法中的服务描述进行描述。服务描述提供了与服务交互必需的所有详细信息,包括消息格式(用于详细说明操作)、传输协议和位置。

其他系统使用 SOAP 消息与 Web Service 进行交互,通常是通过将 HTTP 与 XML 序列化和其他 Web 相关标准一起使用。

Web Service 的架构图(注意现实中 Service broker 是可选的):

图片来源(遵循 CC 3.0 BY-SA 版权协议):

WSDL 接口隐藏服务实现方式的详细信息,这样服务的使用便独立于实现服务的硬件或软件平台,以及编写服务所使用的编程语言。

基于 Web Service 的应用程序是松耦合、面向组件和跨技术的实现。 Web Service 可以单独使用,也可以与其他 Web Service 一起用于执行复杂的聚集或业务事务。

Web Service 是 Service-oriented architecture (SOA) 的实现单元,SOA 是用来替换单体系统的一种设计方法,也就是说,一个庞大的系统可以拆分为多个 Web Service,然后组合起来对外作为一个大的黑盒提供业务逻辑。流行的基于容器的微服务就是 Web Service 最新替代品,但是很多旧系统都已经基于 Web Service 来实现和运作,所以虽然技术日新月异,兼容这些系统也是一个刚性需求。

WSDL (Web Services Description Language)

WSDL 是用于描述 Web Service 的一种 XML 表示法。 WSDL 定义告诉客户如何编写 Web Service 请求,并且描述了由 Web Service 提供程序提供的接口。

WSDL 定义划分为多个单独部分,分别指定 Web Service 的逻辑接口和物理详细信息。物理详细信息既包括诸如 HTTP 端口号等端点信息,还包括指定如何表示 SOAP 有效内容和使用哪种传输方法的绑定信息。

图片来源(遵循 CC 3.0 BY-SA 版权协议):

  • 一个 WSDL 文件可以包含多个 service
  • 一个 service 可以包含多个 port
  • 一个 port 定义了 URL 地址(每个 port 都可能不同),可以包含多个 operation
  • 每个 operation 包含 input type 和 output type
  • type 定义了消息结构:消息由哪些字段组成,每个字段的类型(可嵌套),以及字段个数约束

1.1 什么是 SOAP

SOAP 是在 Web Service 交互中使用的 XML 消息格式。 SOAP 消息通常通过 HTTP 或 JMS 发送,但也可以使用其他传输协议。 WSDL 定义描述了特定 Web Service 中的 SOAP 使用。

常用的 SOAP 有两个版本:SOAP 1.1 和 SOAP 1.2。

图片来源(遵循 CC 3.0 BY-SA 版权协议):

SOAP 消息包含以下部分:

  • Header 元信息,一般为空
  • Body
    • WSDL 里面定义的消息类型
    • 对于响应类型,除了成功响应,还有错误消息,它也是结构化的

例子:

<SOAP-ENV:Envelope xmlns:SOAP-ENV="/"><SOAP-ENV:Header></SOAP-ENV:Header><SOAP-ENV:Body><ns2:getCountryResponse xmlns:ns2=""><ns2:country><ns2:name>Spain</ns2:name><ns2:population>46704314&l

更多推荐

无需二次开发,SOAP

本文发布于:2024-03-10 12:33:59,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1727991.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:SOAP

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!