接口测试-API测试中常用的协议(中)

ops/2025/2/21 7:12:14/

一、SOAP

SOAP(Simple Object Access Protocol)即简单对象访问协议,是一种基于 XML 的用于在网络中交换结构化信息的协议,常用于 Web 服务之间的通信。以下为你详细介绍:

产生背景

在互联网发展过程中,需要一种标准化的方式让不同的应用程序和系统之间能够进行通信和数据交换。尤其是在分布式系统中,不同的平台、编程语言和技术栈开发的软件需要实现互操作性,SOAP 协议应运而生,它提供了一种跨平台、跨语言的通信解决方案。

基本结构

SOAP 消息本质上是一个 XML 文档,主要由以下几个部分组成:

  • 信封(Envelope):是 SOAP 消息的根元素,标识整个消息的开始和结束,所有其他的 SOAP 元素都包含在信封中。例如:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><!-- 消息的其他部分 -->
</soap:Envelope>

  • 头部(Header):是可选部分,包含与消息相关的一些元数据和附加信息,如身份验证信息、事务处理信息等。头部可以包含一个或多个头部条目,每个条目可以有不同的命名空间和用途。示例如下:
<soap:Header><m:AuthHeader xmlns:m="http://example.com/auth"><m:Username>admin</m:Username><m:Password>password123</m:Password></m:AuthHeader>
</soap:Header>

  • 主体(Body):是必需部分,包含了实际要传输的业务数据和请求 / 响应信息。例如,一个简单的请求消息主体可能包含要调用的方法名和参数:

<soap:Body><m:GetUserInfo xmlns:m="http://example.com/user"><m:UserID>123</m:UserID></m:GetUserInfo>
</soap:Body>

  • 错误信息(Fault):可选部分,当消息处理过程中出现错误时,会在主体中包含一个 <Fault> 元素,用于描述错误的详细信息,如错误代码、错误描述等。

工作原理

  • 请求发送:客户端根据需要调用的服务和操作,构建一个符合 SOAP 协议规范的 XML 消息,并通过 HTTP、SMTP 等传输协议将消息发送到服务器端。
  • 消息处理:服务器端接收到 SOAP 消息后,解析消息的头部和主体,根据消息中的操作信息调用相应的服务和方法进行处理。
  • 响应返回:服务器处理完请求后,构建一个包含处理结果的 SOAP 响应消息,并通过相同的传输协议返回给客户端。客户端接收到响应消息后,解析消息获取处理结果。

特点

  • 跨平台和跨语言:由于 SOAP 消息使用 XML 格式,XML 是一种通用的数据表示格式,因此 SOAP 可以在不同的操作系统、编程语言和技术平台之间进行通信,实现不同系统的集成。
  • 规范性强:SOAP 协议有严格的规范和标准,对消息的结构、编码规则、错误处理等都有明确的定义,这使得不同的实现之间具有较好的互操作性。
  • 支持多种传输协议:SOAP 可以通过多种传输协议进行传输,如 HTTP、SMTP、TCP 等,用户可以根据具体的应用场景选择合适的传输协议。
  • 安全性高:SOAP 可以通过在消息头部添加安全信息(如身份验证、加密等)来增强通信的安全性,适用于对安全性要求较高的企业级应用。

应用场景

  • 企业应用集成(EAI):在企业内部,不同的业务系统可能使用不同的技术和平台开发,SOAP 可以作为一种中间件,实现这些系统之间的数据交换和业务流程的协同。
  • Web 服务:许多 Web 服务提供商使用 SOAP 协议来公开他们的服务接口,客户端可以通过发送 SOAP 请求来调用这些服务,获取所需的数据和功能。
  • 金融和电子商务领域:由于对数据安全性和准确性要求较高,这些领域常使用 SOAP 协议进行交易处理、数据传输和业务交互。

二、SOAP vs RESTful

SOAP(Simple Object Access Protocol)协议和 RESTful(Representational State Transfer)架构是两种不同的用于实现网络服务通信的方式,它们在多个方面存在显著区别,以下为你详细阐述:

协议规范与架构风格

  • SOAP:是一种基于 XML 的严格协议,有详细的标准规范,对消息的格式、通信流程、错误处理等都有明确的定义。它规定了消息必须采用特定的 XML 结构,包括信封(Envelope)、头部(Header)和主体(Body)等部分。不同的 SOAP 实现需要遵循统一的标准,以确保互操作性。
  • RESTful:是一种架构风格,而非严格意义上的协议。它没有像 SOAP 那样详细的协议规范,而是基于 HTTP 协议的既有功能和原则,通过统一的接口(如使用标准的 HTTP 方法)来操作资源。RESTful 强调系统的可扩展性、简洁性和性能,更注重资源的概念和对资源的操作。

数据格式

  • SOAP:主要使用 XML 作为数据交换格式。XML 具有良好的结构化和自描述性,能够清晰地表达复杂的数据结构和语义,但 XML 格式的消息通常比较冗长,包含大量的标签信息,会增加数据传输的开销,降低传输效率。
  • RESTful:支持多种数据格式,常见的有 JSON 和 XML,其中 JSON 更为常用。JSON 格式简洁、轻量级,易于解析和生成,在数据传输过程中占用的带宽较少,能够提高系统的性能和响应速度。而且 JSON 更符合现代 Web 开发的趋势,在前端和后端之间的数据交互中广泛应用。

通信方式

  • SOAP:可以使用多种传输协议,如 HTTP、SMTP、TCP 等,不局限于 HTTP 协议。这使得 SOAP 在一些特定的应用场景中具有更大的灵活性,例如在需要通过邮件进行消息传递的场景中,可以使用 SMTP 协议。但这种灵活性也增加了系统的复杂性,需要处理不同传输协议的兼容性和安全性问题。
  • RESTful:主要基于 HTTP 协议进行通信,充分利用 HTTP 协议的既有功能,如使用标准的 HTTP 方法(GET、POST、PUT、DELETE 等)来对资源进行操作。这种方式使得 RESTful 服务与现有的 Web 基础设施和工具更好地集成,并且 HTTP 协议本身具有良好的跨平台和跨网络的特性,简化了系统的实现和部署。

接口设计

  • SOAP:接口设计通常基于操作强调对方法的调用。客户端需要知道服务端提供的具体操作和方法名,通过发送包含操作信息的 SOAP 消息来调用相应的服务。这种设计方式更适合传统的面向对象编程模型,注重方法的参数和返回值
  • RESTful:接口设计基于资源,将系统中的各种实体和信息抽象为资源,通过 URL 来定位资源,并使用标准的 HTTP 方法对资源进行操作。客户端只需要关注资源的 URL 和操作类型,而不需要关心具体的实现细节,使得接口更加简洁、直观,易于理解和使用。

性能与可扩展性

  • SOAP:由于 XML 消息的冗长和复杂的协议规范,SOAP 在数据传输和处理过程中会消耗更多的资源和时间,性能相对较低。而且,SOAP 的严格规范使得在进行系统扩展和升级时,需要遵循一定的规则和标准,可能会增加开发和维护的成本。
  • RESTfulJSON 格式的轻量级和基于 HTTP 协议的简单设计,使得 RESTful 服务在性能上具有优势,能够快速地处理和响应请求。同时,RESTful 的架构风格具有良好的可扩展性,通过对资源的抽象和分层设计,可以方便地添加新的资源和操作,适应系统的不断变化和发展。

安全性

  • SOAP:提供了较为完善的安全机制,如 WS - Security 规范,支持消息的加密、签名、身份验证等功能,可以满足企业级应用对安全性的高要求。但这些安全机制的实现相对复杂,需要额外的配置和开发工作。
  • RESTful:安全性主要依赖于 HTTP 协议提供的安全机制,如 HTTPS 进行数据加密传输,以及基于 Token 的身份验证等。虽然这些机制在一定程度上可以保证系统的安全,但相对 SOAP 的安全机制来说,功能可能不够全面,需要根据具体的应用场景进行额外的安全设计和实现。

应用场景

  • SOAP:适用于对安全性、可靠性和规范性要求较高的企业级应用,如企业应用集成(EAI)、金融交易系统等。在这些场景中,数据的准确性和完整性至关重要,需要严格的协议规范和完善的安全机制来保障。
  • RESTful:更适合互联网应用和移动应用开发,以及对性能和灵活性要求较高的场景。在这些场景中,需要快速地响应请求、处理大量的数据,并且要能够方便地与不同的客户端进行交互,RESTful 的简洁性和高效性能够满足这些需求。

三、SMTP协议

SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,是用于在网络上进行电子邮件发送的标准协议。以下为你详细介绍:

产生背景

在互联网发展初期,人们需要一种标准化的方式来实现电子邮件的传输,以便不同的计算机系统和邮件服务器之间能够相互通信和交换邮件。SMTP 协议应运而生,它为电子邮件的发送提供了统一的规则和机制,使得全球范围内的电子邮件通信成为可能。

工作原理

发件人邮件客户端  → (建立TCP连接)→  发件人邮件服务器 →  (按照SMTP协议的格式封装成邮件消息)→  中间邮件服务器消息转发 →  收件人邮件服务器  →  收件人邮件客户端

  • 客户端与服务器连接:当用户使用邮件客户端(如 Outlook、Foxmail 等)撰写并发送邮件时,客户端会与发件人的邮件服务器建立一个 TCP 连接,默认端口号为 25(对于加密连接,常用端口号为 587 或 465)。
  • 身份验证与协商:连接建立后,客户端和服务器会进行一系列的交互,包括身份验证(如果需要)和协议协商。客户端向服务器发送自己的身份信息和邮件相关的指令,服务器根据这些信息进行响应和验证。
  • 邮件传输:客户端将邮件的内容(包括发件人、收件人、主题、正文等)按照 SMTP 协议的格式封装成邮件消息,并发送给服务器。服务器接收到邮件消息后,会检查收件人的地址是否有效,并根据收件人的域名查找对应的邮件服务器。
  • 邮件转发:如果收件人的邮件服务器与发件人的服务器不同,发件人的服务器会与收件人的服务器建立连接,并将邮件消息转发给收件人的服务器。这个过程可能会涉及多个中间邮件服务器的转发,直到邮件到达最终的收件人服务器。
  • 邮件接收:收件人的服务器接收到邮件后,会将邮件存储在收件人的邮箱中,等待收件人使用邮件客户端来收取邮件。

协议特点

  • 简单性:SMTP 协议的设计理念是简单高效,它只关注邮件的传输过程,不涉及邮件的存储和管理。这使得协议的实现相对简单,易于部署和维护。
  • 文本协议:SMTP 是一种基于文本的协议,所有的命令和响应都是以 ASCII 文本的形式进行传输的。这使得协议具有良好的可读性和可调试性,方便开发人员进行调试和故障排查。
  • 可靠性:SMTP 协议采用了确认机制,服务器在接收到客户端的命令和邮件消息后,会返回相应的状态码来表示处理结果。如果出现错误或异常情况,服务器会返回错误码,客户端可以根据这些信息进行相应的处理,确保邮件的可靠传输

应用场景

  • 电子邮件发送:SMTP 协议最主要的应用场景就是电子邮件的发送。无论是个人用户通过邮件客户端发送邮件,还是企业级应用系统自动发送通知邮件、营销邮件等,都离不开 SMTP 协议的支持。
  • 邮件服务器之间的通信:不同的邮件服务器之间通过 SMTP 协议进行邮件的转发和交换,确保全球范围内的电子邮件能够正常传输。

示例代码(Python 中使用 SMTP 发送邮件)

import smtplib
from email.mime.text import MIMEText
from email.header import Header# 发件人邮箱地址
sender = 'your_email@example.com'
# 收件人邮箱地址
receivers = ['recipient_email@example.com']# 邮件内容
message = MIMEText('这是一封测试邮件', 'plain', 'utf-8')
message['From'] = Header(sender, 'utf-8')
message['To'] = Header(','.join(receivers), 'utf-8')
message['Subject'] = Header('测试邮件', 'utf-8')try:# 连接 SMTP 服务器smtpObj = smtplib.SMTP('smtp.example.com', 25)# 登录发件人邮箱smtpObj.login(sender, 'your_email_password')# 发送邮件smtpObj.sendmail(sender, receivers, message.as_string())print("邮件发送成功")
except smtplib.SMTPException as e:print(f"邮件发送失败: {e}")
finally:# 关闭连接smtpObj.quit()

在上述代码中,首先创建了一个邮件消息对象,然后连接到 SMTP 服务器,登录发件人邮箱,最后发送邮件。如果发送过程中出现异常,会捕获异常并输出错误信息。

四、TLS协议

TLS(Transport Layer Security)即传输层安全协议,它是一种广泛用于保障网络通信安全的协议,其前身是 SSL(Secure Sockets Layer)协议。以下从多方面为你详细介绍 TLS 协议:

产生背景

在互联网发展过程中,网络通信的安全性变得至关重要。早期的网络协议在数据传输过程中,数据往往以明文形式存在,这使得数据容易被窃取、篡改,用户的隐私和信息安全受到严重威胁。为了解决这些问题,SSL 协议应运而生,经过不断发展和改进,演变成了现在广泛使用的 TLS 协议。

工作原理

TLS 协议的工作过程主要分为握手阶段和数据传输阶段:

(脑洞:想象成一个组织的两个人在街头遇到开始对暗号 证书就是信物证明)

客户端:你是不是我们组织的接头人?

服务器:我是啊 我给你看信物(递给)

客户端:(接过信物)让我看看是不是真的

信物没问题,于是客户端和服务器使用了和彼此联系的加密对讲机,后续两个人的加密联系就靠它了

客户端:欧了 之后对讲机联系我就行

服务器:欧

  • 握手阶段
    • 客户端问候:客户端向服务器发送一个问候消息,其中包含客户端支持的 TLS 版本、加密算法列表、随机数等信息。
    • 服务器响应:服务器接收到客户端的问候消息后,选择一个 TLS 版本和加密算法,并向客户端发送服务器证书、服务器随机数等信息。
    • 证书验证:客户端接收到服务器证书后,会验证证书的有效性,包括证书的颁发机构、有效期、签名等。如果证书无效,客户端会终止连接。
    • 密钥交换:客户端和服务器使用协商好的加密算法和随机数生成会话密钥,这个会话密钥将用于后续的数据加密和解密。
    • 完成握手:客户端和服务器分别向对方发送一个完成消息,表明握手过程结束,双方可以开始使用会话密钥进行数据传输。
  • 数据传输阶段
    在握手阶段完成后,客户端和服务器使用会话密钥对要传输的数据进行加密和解密。数据在传输过程中以密文形式存在,即使数据被截取,攻击者也无法获取其中的敏感信息。

协议特点

(信物的确认,对讲机的加密通话,最后一手数据链路层MAC层的验证数据完整性)

  • 保密性:TLS 协议使用对称加密算法对数据进行加密,只有持有相同会话密钥的客户端和服务器才能对数据进行解密,从而保证了数据在传输过程中的保密性。
  • 完整性:TLS 协议使用消息认证码(MAC)来验证数据的完整性。在数据传输过程中,发送方会计算数据的 MAC 值并附加在数据后面,接收方在接收到数据后会重新计算 MAC 值并与接收到的 MAC 值进行比较,如果两者不一致,则说明数据在传输过程中被篡改。
  • 身份验证:TLS 协议通过数字证书对服务器和客户端的身份进行验证,确保通信双方的身份真实可靠。服务器证书由权威的证书颁发机构(CA)颁发,客户端可以通过验证证书的有效性来确认服务器的身份。在一些需要双向身份验证的场景中,客户端也需要向服务器提供自己的证书。

应用场景

  • Web 浏览器与服务器通信:在浏览网页时,当网址以 https:// 开头时,就表示使用了 TLS 协议进行加密通信。例如,在进行网上购物、登录银行账户等操作时,TLS 协议可以保障用户输入的敏感信息(如用户名、密码、信用卡号等)不被窃取和篡改。
  • 电子邮件传输:在电子邮件的发送和接收过程中,TLS 协议可以对邮件内容进行加密,保护用户的隐私。许多邮件服务器都支持 TLS 加密,用户可以在邮件客户端中配置使用 TLS 协议进行安全的邮件传输。
  • 即时通讯和语音通话:一些即时通讯应用和语音通话应用也使用 TLS 协议来保障通信的安全性,防止消息和语音内容被监听和窃取。

版本发展

TLS 协议有多个版本,包括 TLS 1.0、TLS 1.1、TLS 1.2 和 TLS 1.3。随着版本的不断更新,协议的安全性和性能不断提高。例如,TLS 1.3 相比之前的版本,简化了握手过程,提高了握手速度,同时增强了加密算法的安全性。目前,建议使用较新的 TLS 版本以获得更好的安全保障。

五、MQTT协议

 

MQTT(Message Queuing Telemetry Transport)即消息队列遥测传输协议,是一种基于发布 / 订阅模式的轻量级消息传输协议,专为资源受限的设备和低带宽、不稳定的网络环境设计。以下从多方面为你详细介绍:

产生背景

随着物联网(IoT)的快速发展,大量资源受限的设备(如传感器、嵌入式设备等)需要连接到网络进行数据传输和通信。传统的网络协议往往过于复杂,对设备的资源要求较高,不适合在这些设备上使用。MQTT 协议应运而生,它以其轻量级、低功耗、易于实现等特点,成为物联网领域中数据传输的重要协议之一。

工作原理

  • 发布 / 订阅模式:MQTT 采用发布 / 订阅的消息传递模式,涉及三个主要角色:发布者(Publisher)、代理服务器(Broker)和订阅者(Subscriber)。发布者负责生成消息并将其发送到代理服务器,订阅者则向代理服务器订阅感兴趣的主题(Topic)。代理服务器作为中间枢纽,负责接收发布者发送的消息,并将消息转发给所有订阅了相应主题的订阅者。
  • 主题(Topic)主题是 MQTT 中消息的分类标识,类似于一个标签或目录。发布者在发布消息时需要指定消息所属的主题,订阅者则通过订阅特定的主题来接收相关的消息。主题可以是多层次的,使用斜杠/进行分隔,例如 home/livingroom/temperature 表示家庭客厅的温度数据主题。
  • QoS(服务质量):MQTT 提供了三种不同级别的服务质量,用于保证消息传输的可靠性。
    • QoS 0:最多分发一次,消息发送者只发送一次消息,不保证消息是否到达接收者,可能会出现消息丢失的情况。这种级别适用于对数据丢失不太敏感的场景,如实时传感器数据的传输。
    • QoS 1:至少分发一次,消息发送者会确保消息至少被接收者收到一次。如果接收者没有返回确认消息,发送者会重新发送消息,可能会导致消息重复接收。
    • QoS 2:仅分发一次,这是最高级别的服务质量,确保消息只被接收者收到一次,不会出现消息丢失或重复的情况,但实现过程相对复杂,会增加一定的开销。

协议特点

  • 轻量级:MQTT 协议的报文头部非常小,最小仅为 2 个字节,消息格式简单,对设备的内存和处理能力要求较低,适合在资源受限的设备上运行。
  • 低带宽消耗:由于协议的轻量级设计,MQTT 在数据传输过程中占用的带宽较少,能够在低带宽的网络环境下稳定运行,降低了通信成本。
  • 支持多种网络:MQTT 可以运行在多种网络协议之上,如 TCP、UDP、TLS 等,能够适应不同的网络环境,包括移动网络、WiFi 等。
  • 易于实现:MQTT 协议的规范简洁明了,实现起来相对简单,无论是设备端还是服务器端的开发都比较容易。

应用场景

  • 物联网(IoT):在物联网领域,MQTT 被广泛应用于各种设备之间的数据通信,如智能家居、工业监控、智能交通等。例如,智能家居中的传感器可以通过 MQTT 协议将温度、湿度、光照等数据发送到云端服务器,用户可以通过手机 APP 订阅这些数据并进行远程控制。
  • 远程监控与数据采集:对于一些分布在不同地理位置的设备或系统,如气象站、油田、电力设备等,可以使用 MQTT 协议进行远程监控和数据采集。设备将采集到的数据实时发送到监控中心,监控中心可以及时了解设备的运行状态并进行相应的处理。
  • 即时通讯与消息推送:MQTT 的发布 / 订阅模式也适用于即时通讯和消息推送场景,如社交应用、新闻客户端等。服务器可以将新的消息、通知等内容发布到特定的主题,客户端订阅相应的主题即可实时接收消息。

 六、UDDI协议

UDDI(Universal Description, Discovery and Integration)通用描述、发现与集成协议,是一种基于 XML 的标准协议,用于在互联网上发布、查找和整合 Web 服务。下面结合生活中的例子,为你详细解读 UDDI 的概念、工作流程和作用。

核心概念解释

UDDI 就像是一个超级大的 “服务黄页”,只不过这个黄页是在互联网上,专门用于 Web 服务。它主要涉及三个关键角色:

  • 服务提供者:好比现实生活中各种店铺的老板,这些老板有自己独特的商品或服务。在 Web 世界里,服务提供者创建并拥有 Web 服务,比如一个电商企业开发了一个用于查询商品库存的 Web 服务。
  • 服务注册中心:类似于一个巨大的商业信息数据库,就像城市里专门收集各种店铺信息的大型信息中心。服务提供者把自己的服务信息提交到这里进行存储和管理,方便他人查找。
  • 服务消费者:如同寻找特定商品或服务的顾客。在 Web 环境中,当某个软件系统或者开发者需要特定的 Web 服务时,就会到服务注册中心去查找。

数据模型理解

UDDI 有一套数据模型来描述 Web 服务的相关信息,这就好比黄页里对每个店铺的详细介绍:

  • 商业实体(BusinessEntity):相当于黄页里的店铺本身,包含了企业或组织的基本信息,如名称、地址、联系方式等。例如一家名为 “ABC 电商” 的企业,这就是一个商业实体。
  • 商业服务(BusinessService):是商业实体提供的具体服务内容,类似于店铺里售卖的具体商品或提供的特定服务。比如 “ABC 电商” 提供的 “商品库存查询服务”“订单处理服务” 等。
  • 绑定模板(BindingTemplate):说明了如何访问这些服务,就像告诉顾客店铺的具体位置和开门时间,以及通过什么方式可以获得商品或服务。在 Web 服务中,它包含服务的访问地址(如 URL)、所使用的协议(如 SOAP、REST 等)。
  • tModel(技术模型):是对服务的技术规范和标准的定义,好比店铺里商品的生产标准和规格说明。它可以描述服务的接口、数据格式、业务规则等信息,让服务消费者清楚知道如何与服务进行交互。

工作流程示例

下面以一个在线旅游服务为例,说明 UDDI 的工作流程:

服务发布

  • 有一家名为 “TravelPro” 的在线旅游公司,它开发了一个 Web 服务,用于提供机票预订功能。
  • TravelPro 公司作为服务提供者,将公司信息(商业实体)、机票预订服务(商业服务)、服务的访问地址和使用的协议(绑定模板)以及服务的技术规范(tModel)等信息整理成符合 UDDI 规范的数据。
  • 然后通过 UDDI API(应用程序编程接口)将这些信息提交到 UDDI 注册中心。注册中心会对提交的信息进行验证,如果信息合法,就将其存储在数据库中。
服务发现

  • 现在有一家旅行社(服务消费者),想要为客户提供更便捷的机票预订服务,于是它决定寻找合适的机票预订 Web 服务。
  • 旅行社通过 UDDI API 向 UDDI 注册中心发送查询请求,例如查询 “提供机票预订服务的 Web 服务”。
  • 注册中心接收到查询请求后,在存储的信息中进行搜索,找到 TravelPro 公司发布的机票预订服务信息,并将这些信息返回给旅行社。
服务调用

  • 旅行社根据从 UDDI 注册中心获取的服务信息,得知了 TravelPro 公司机票预订服务的访问地址和使用的协议。
  • 旅行社的系统按照这些信息调用 TravelPro 公司的机票预订服务,为客户完成机票预订业务。

应用场景及意义

UDDI 的出现使得不同企业和组织之间的 Web 服务能够更方便地进行共享和集成。在上述例子中,如果没有 UDDI 这样的注册中心,旅行社可能需要花费大量的时间和精力去寻找合适的机票预订服务,而通过 UDDI 注册中心,它可以快速准确地找到所需服务,提高了工作效率和业务的灵活性。同时,对于服务提供者来说,UDDI 也为他们提供了一个更广阔的市场,能够让更多的服务消费者发现和使用他们的服务。

 

相互协作实现 Web 服务完整流程

  • UDDI 负责服务的发布与发现:UDDI 提供了一个集中的注册中心,服务提供者可以将自己的 Web 服务信息(包括服务的描述、访问地址等)发布到 UDDI 注册中心。服务消费者则可以通过 UDDI 注册中心搜索和发现符合自己需求的 Web 服务。简单来说,UDDI 解决了 “在哪里找到服务” 的问题。
  • SOAP 负责服务的调用与通信:当服务消费者通过 UDDI 找到所需的 Web 服务后,就需要与服务提供者进行通信并调用该服务。SOAP 是一种基于 XML 的协议,用于在网络中交换结构化信息,它定义了消息的格式和通信的规则。服务消费者可以使用 SOAP 协议构建请求消息,发送给服务提供者,服务提供者接收到请求后,同样使用 SOAP 协议返回响应消息。因此,SOAP 解决了 “如何调用服务” 的问题。

http://www.ppmy.cn/ops/160179.html

相关文章

析言GBI:用自然语言交互重构企业数据分析范式

亲爱的小伙伴们&#x1f618;&#xff0c;在求知的漫漫旅途中&#xff0c;若你对深度学习的奥秘、Java 与 Python 的奇妙世界&#xff0c;亦或是读研论文的撰写攻略有所探寻&#x1f9d0;&#xff0c;那不妨给我一个小小的关注吧&#x1f970;。我会精心筹备&#xff0c;在未来…

银河麒麟系统安装mysql5.7【亲测可行】

一、安装环境 cpu&#xff1a;I5-10代&#xff1b; 主板&#xff1a;华硕&#xff1b; OS&#xff1a;银河麒麟V10&#xff08;SP1&#xff09;未激活 架构&#xff1a;Linux 5.10.0-9-generic x86_64 GNU/Linux mysql版本&#xff1a;mysql-5.7.34-linux-glibc2.12-x86_64.ta…

工控自动化领域:数字量信号与模拟量信号的差异解析

在工控自动化的神秘世界里&#xff0c;信号如同传递指令和信息的使者&#xff0c;而数字量信号和模拟量信号则是其中的两大主角。它们各自有着独特的 “性格” 和 “使命”&#xff0c;在不同的场景中发挥着关键作用。下面&#xff0c;就让我们一起来深入了解一下它们的区别。 …

Python----数据结构(队列,顺序队列,链式队列,双端队列)

一、队列 1.1、概念 队列(Queue)&#xff1a;也是一种基本的数据结构&#xff0c;在队列中的插入和删除都遵循先进先出&#xff08;First in First out&#xff0c;FIFO&#xff09;的原则。元素可以在任何时刻从队尾插入&#xff0c;但是只有在队列最前面 的元素才能被取出或…

深入解析:短轮询、长轮询、长连接与WebSocket(原理到实现)

从原理到实战&#xff1a;深度剖析短轮询、长轮询、长连接及 WebSocket 的实现与差异 在日常开发中&#xff0c;短轮询、长轮询、长连接和WebSocket是常见的几种通信技术&#xff0c;各自适用于不同的场景。本文将深入分析这四种技术&#xff0c;从原理到实现&#xff0c;并探讨…

如何使用springboot项目如何实现小程序里面商品的浏览记录功能案例

1 第一步&#xff0c;数据库表结构设计 DROP TABLE IF EXISTS product_browse_history; CREATE TABLE product_browse_history (id bigint NOT NULL COMMENT 记录编号,spu_id bigint DEFAULT NULL COMMENT 商品 SPU 编号,user_id bigint DEFAULT NULL COMMENT 用户编号,user_d…

基于微信小程序的家政服务预约系统的设计与实现(php论文源码调试讲解)

第3章 系统设计 3.1系统功能结构设计 本系统的结构分为管理员和客户、员工。本系统的功能结构图如下图3.1所示&#xff1a; 图3.1系统功能结构图 3.2数据库设计 本系统为小程序类的预约平台&#xff0c;所以对信息的安全和稳定要求非常高。为了解决本问题&#xff0c;采用前端…

C++:类与对象,定义类和构造函数

#define _CRT_SECURE_NO_WARNINGS 1 #include <iostream> using namespace std; //如何让定义一个类 // 封装 // 1、将数据和方法定义到一起。 // 2、把想给你看的数据给你看&#xff0c;不想给你看的封装起来。 通过访问限定符来实现 class Stack { public: //1.成…