news 2026/10/21 3:42:18

soap协议

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
soap协议

1.何为SOAPxmlhttprpc

  • soap 基于 xml 定义的一种协议,用于传递结构化数据xml子集领域特化
  • soap 可以绑定 http/tcp/udp等通信协议,以此完成网络通信
  • 最常见的soap应用场景,利用http完成soap消息的交互,达成rpc交互过程
  • 简单理解为soap=rpc{http+xml},在通用http+xml进一步做协议级别的约定或约束
  • SOAP官方协议文档

2.soap消息结构

2.1 soap消息组成

一条 SOAP 消息就是一个普通的 XML 文档,包含下列元素:

  • 必需的 Envelope 元素,可把此 XML 文档标识为一条 SOAP 消息识别特征
  • 可选的 Header 元素,包含头部信息
  • 必需的 Body 元素,包含所有的调用和响应信息
  • 可选的 Fault 元素,提供有关在处理此消息所发生错误的信息
2.2 soap消息示例
# soap消息的最基本结构<Envelopexmlns="http://schemas.xmlsoap.org/soap/envelope/"><Bodyxmlns="http://schemas.xmlsoap.org/soap/envelope/">...</Body></Envelope>

3.soap与http的绑定

  • 参考SOAP官方协议文档第6章
  • 绑定http时
    • 一般只使用POST方法
    • 提供SOAPAction头域
SOAPAction: "http://electrocommerce.org/abc#MyMessage" SOAPAction: "myapp.sdl" SOAPAction: "" SOAPAction:
  • 绑定拓展的http
    • 使用M-POST方法
    • 提供NNNN-SOAPAction头域

4.rpc里使用soap

  • 参考SOAP协议文档第7章
  • rpc通信地址,映射到http的url
  • rpc的method+params,映射到xml的结构体
    • soap里method名与RPC的method名同
    • soap里param名与RPC的param名同
    • params为结构体的子节点
    • params顺序同rpc的params顺序
  • rpc的result,映射到xml的结构体
    • result为结构体的子节点
    • result默认为首个子节点

5.webservice 3要素

  • soap百度百科
  • SOAP:soap用来描述传递信息的格式网络报文
  • WSDL(Web Services Description Language):WSDL 用来描述如何访问具体的接口上层逻辑
  • UDDI(Universal Description Discovery and Integration):uddi用来管理,分发,查询webService
5.1 wsdl
  • wsdl百度百科
  • wsdl文件的元素组成
    • Type(消息类型):数据类型定义的容器,它使用某种类型系统(如 XSD)。
    • Message(消息):通信数据的抽象类型化定义,它由一个或者多个 part 组成。
    • Part:消息参数
    • Operation(操作):对服务所支持的操作进行抽象描述,WSDL定义了四种操作: 1.单向(one-way):端点接受信息;2.请求-响应(request-response):端点接受消息,然后发送相关消息;3.要求-响应(solicit-response):端点发送消息,然后接受相关消息;4.通知(notification):端点发送消息。
    • Port Type(端口类型):特定端口类型的具体协议和数据格式规范。
    • Binding:特定端口类型的具体协议和数据格式规范。
    • Port:定义为绑定和网络地址组合的单个端点。
    • Service:相关端口的集合,包括其关联的接口、操作、消息等。

6.参考资料

  • soap百度百科
  • http协议与soap协议之间的区别
  • Jmeter进行SOAP协议接口性能测试
  • Python 开发与测试 Webservice(SOAP)

7 扩展阅读

  • XML-RPC
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/19 8:40:40

RK平台android12 动态调整屏幕方向

RK平台 Android12 动态调整屏幕方向&#xff08;persist 属性方案&#xff0c;免重新编译&#xff09;适用场景&#xff1a;RK 平台 Android 12 / Android 14&#xff0c;整机为固定安装方向&#xff08;竖屏广告机、工控一体机、自助终端、门禁机等&#xff09;&#xff0c;无…

作者头像 李华
网站建设 2026/10/19 3:02:34

Autoware.Universe 样例运行:高精地图部署到 ~/autoware-map 与排错指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/21 18:55:54

MFC与Halcon图像显示桥接:窗口句柄绑定与双缓冲实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/21 7:29:39

Linux进程并发设计:从fork()到wait()的底层原理与工程实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/18 22:02:11

Qt桌面软件授权期限控制:防篡改与跨平台实现方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/21 10:42:57

基于MP2642GR-Z与ATmega3250的串联电池组均衡方案设计

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华