笔记上传:

1.soap与http的区别:

HTTP只负责把数据传送过去,不会管这个数据是XML、HTML、图片、文本文件或者别的什么。( HTTP就是邮局的协议,他们规定了你的信封要怎么写,要贴多少邮票等。。。。 )

而SOAP协议则定义了怎么把一个对象变成XML文本,在远程如何调用等   (SOAP就是你们之间交流的协议,负责把你所需要表达的意思写在信纸上,同时也负责让对方能够看得懂你的信。)

2.soap简介:

SOAP(Simple Object Accrss Protocol,简单对象访问协议)是一种简单的基于XML的协议,可以使应用程序在分散或分布式的环境中,多数通过HTTP来传输信息的。(soap的默认端口号8880,ftp的代理服务器的默认端口号是21)

SOAP是Web Service的通信协议,是基于XML语言和XSD标准,其定义了一套编码规则,编码规则定义如何将数据表示为消息,以及怎样通过HTTP协议来传输SOAP消息,由四部分组成:

(1) SOAP信封(Envelope):定义了一个框架,框架描述了消息中的内容是什么,包括消息的内容、发送者、接收者、处理者以及如何处理消息。

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

(3) SOAP RPC表示:定义了用于表示远程过程调用和应答协定。

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

SOAP消息基本上是从发送端到接收端的单向传输,常常结合起来执行类似于请求/应答的模式。

3.soap特性:

1).SOAP是一种轻量级通信协议

2).SOAP用于应用程序之间的通信

3).使用SOAP的应用使用HTTP协议通信

4).SOAP独立于平台

5).SOAP独立于编程语言

6).SOAP基于XML

7).SOAP很简单并可扩展

8).SOAP允许绕过防火墙

4.soap的消息交换模型

1)、SOAP结点

SOAP结点表示SOAP消息路径的逻辑实体,用于进行消息路由或处理。SOAP结点可以是SOAP消息的发送者、接收方、消息中介。

在SOAP消息模型中,中间方为一种SOAP结点,负责提供发送消息的应用程序和接收方间的消息交换和协议路由功能。中间方结点驻留在发送结点和接收结点之间,负责处理SOAP消息头中定义的部分消息。SOAP发送方和接收方之间可以有0个或多个SOAP中间方,为SOAP接收方提供分布式处理机制。

2).一般,SOAP消息中间方分为两种:

A、转发中间方:转发中间方通过在所转发消息的SOAP消息头块中描述和构造语义和规则,从而实现消息处理。

B、活动中间方:活动中间方利用一组功能为接收方结点修改外部绑定消息,从而提供更多的消息处理操作。

5.soap协议解析

1)、SOAP 消息组成(soap的消息对象包括:)

所有的SOAP消息都使用XML编码,一条SOAP消息就是一个普通的XML文档,文档包括下列元素:

A、Envelope(信封)元素,必选,可把此XML文档标识为一条SOAP消息。

B、Header(报头)元素,可选,包含头部信息(包含了使消息在到达最终目的地之前,能够被路由到一个或多个中间节点的信息,可能会定义认证信息、事务信息、本地信息)。

C、Body(主体)元素,必选,包含所有的调用和响应信息。

D、Fault元素,位于Body内,可选,提供有关处理此消息所发生错误的信息。

E、Attachment(附件)元素,可选,可通过添加一个或多个附件扩展SOAP消息。

所有以上的元素均被声明于针对SOAP封装的默认命名空间中:http://www.w3.org/2001/12/soap-envelope

以及针对 SOAP 编码和数据类型的默认命名空间:http://www.w3.org/2001/12/soap-encoding

6.soap附件:

SOAP消息可以包含XML格式的主SOAP信封,以及包含ASCII或二进制等任何数据格式的SOAP附件。如果SOAP消息包含附件,那么SOAP消息将是一个MIME编码的消息,包含SOAP内容和一个或多个其他类型的附件。因此SOAP消息实际上分为以下两种类型:

A、仅包含XML内容的消息

B、MIME编码的消息,包含初始的XML有效内容以及任何数量的附件。附件可以是任何其他类型的数据。

【MIME:Multi-purpose Internet Mail Extensions多用途Internet邮件扩展,是一组技术规范,其目的是使用不同字符集来传递文本,也可以在计算机之间传递各种各样的多媒体数据】

7.soap消息绑定:

Web服务的有效负载通常包装在SOAP消息中,而SOAP消息结构由WSDL文档中的SOAP绑定定义确定。不同的调用方式和编码方式通过组合可以产生多种绑定样式,而每种样式的应用场景和对应的SOAP消息结构并不相同。如果没有正确的构造SOAP消息,则无法正确交换服务的有效负载。

SOAP Body提供了一种消息交换的机制,是SOAP消息的实际负载,可包含任意内容。SOAP消息体(SOAP Body)通过绑定服务调用方式(RPC或者Document)封装操作,绑定编码方式(Encoded或者Literal)序列化参数。SOAP消息的绑定样式由style、use和encodingStyle三个属性共同设置。style属性指定服务的调用方式,是采用RPC方式还是Document方式;use属性指定消息的编码方式,是采用Encoded方式还是采用Literal方式;而encodingStyle属性指定具体编码规则,例如可以指定SOAP编码规则、XML Schema编码规则等等,通常情况下都是采用XML Schema。

8.soap的调用过程:

Web service一般就是用SOAP协议通过HTTP来调用它,其实他就是一个WSDL文档,客户都可以阅读WSDL文档来用这个Web service。客户根据WSDL描述文档,会生成一个SOAP请求消息。Web service都是放在Web服务器 (如IIS) 后面的,客户生成的SOAP请求会被嵌入在一个HTTP POST请求中,发送到Web服务器来。Web服务器再把这些请求转发给Web service请求处理器。请求处理器的作用在于,解析收到的SOAP请求,调用Web service,然后再生成相应的SOAP应答。Web服务器得到SOAP应答后,会再通过HTTP应答的方式把它送回到客户端。

SOAP简单的理解,就是这样的一个开放协议SOAP=RPC+HTTP+XML:采用HTTP作为底层通讯协议;RPC作为远程调用途径,XML作为数据传送的格式,允许服务提供者和服务客户经过防火墙在INTERNET进行通讯交互。

SOAP协议的深度解析相关推荐

  1. 深度解析OSPF(开放最短路径优先协议)

    深度解析OSPF(开放最短路径优先协议) 目录 OSPF基本概念 邻接状态的建立 OSPF七种状态 邻接建立条件 DR与BDR的选举细节 虚链路 OSPF常见六种LSA(链路状态数据库) 1号.路由器 ...

  2. ISO7816协议深度解析-简单易懂协议详解(一)-- 复位,字符帧,及ATR

    1. 摘要 IC卡必须支持T=0或T=1的协议,但不是同时支持这两种协议,而终端则必须同时支持T=0和T=1的协议. • T=0通讯协议是异步半双工字符传输协议: • T=1通讯协议是异步半双工块传输 ...

  3. tcp协议不具备的功能是_TCP协议的状态深度解析,你知道的和不知道的都在这篇文章(干货)...

    今天和大家说说,TCP协议的状态解析.大家可以看看下图,接下来我们会详细说明. 发起握手阶段 CLOSED:表示初始状态. LISTEN:表示服务器端的某个SOCKET处于监听状态,可以接受连接. S ...

  4. 深度解析RARP协议

    相信大家都知道ARP的作用了吧?那RARP呢?目前我们对RARP的理解只是停留在通过MAC地址查找IP地址的层面上,那什么情况下我们会用到RARP呢?虽然在书本.文档或者培训中我们一直都能看到RARP ...

  5. 全网最详细最齐全的序列化技术及深度解析与应用实战

    序列化是网络通信中非常重要的一个机制,好的序列化方式能够直接影响数据传输的性能. 序列化# 所谓的序列化,就是把一个对象,转化为某种特定的形式,然后以数据流的方式传输. 比如把一个对象直接转化为二进制 ...

  6. 深度解析:mPaaS 3.0全新组件

    摘要:以"数字金融新原力(The New Force of Digital Finance)"为主题,蚂蚁金服ATEC城市峰会于2019年1月4日上海如期举办.分论坛上,蚂蚁金服产 ...

  7. 推荐:微服务架构的深度解析!

    通过采用微服务架构,企业最大的收益是帮助内部IT建设沿着可演进的方向发展.支持灵活扩展.降低运维成本.快速响应业务变化. 这些底层技术能力的提升让业务更加敏捷.成本可控,企业也可以从中获得技术红利和市 ...

  8. Kafka深度解析(如何在producer中指定partition)(转)

    原文链接:Kafka深度解析 背景介绍 Kafka简介 Kafka是一种分布式的,基于发布/订阅的消息系统.主要设计目标如下: 以时间复杂度为O(1)的方式提供消息持久化能力,即使对TB级以上数据也能 ...

  9. Hologres揭秘:深度解析高效率分布式查询引擎

    简介:从阿里集团诞生到云上商业化,随着业务的发展和技术的演进,Hologres也在持续不断优化核心技术竞争力,为了让大家更加了解Hologres,我们计划持续推出Hologers底层技术原理揭秘系列, ...

  10. 语音视频社交背后技术深度解析

    演讲 / 蒋宁波 整理 / LiveVideoStack 伴随智能硬件设备快速发展和网络条件提升,实时语音视频的应用越来越广泛,从互动直播.到休闲游戏.再到陌生人社交,而如何保障实时互动过程流畅不卡顿 ...

最新文章

  1. scheduled线程池ScheduledExecutorService只执行一次_有个定时任务突然不执行了
  2. netcat nc端口监听 反向连接中断问题
  3. 性能测试工具Curl-Loader
  4. Golang 垃圾回收剖析
  5. fastDFS配置nginx
  6. 玩转计划任务命令:schtasks
  7. 围棋智能机器人阿法狗,阿尔法狗机器人围棋
  8. Android之adb安装apk
  9. 数据库较长数据导出到excel单元格变成科学计数法
  10. 智慧城市运营典型模式特征分析
  11. 顶尖量化私募“分家产”!学霸基金经理离职,代码产权归属成看点
  12. P3373 【模板】线段树1和P3373 【模板】线段树 2
  13. B站动态自检方法1 bilibili应用自检
  14. DRAM BRANK
  15. GBase 8s 客户端工具之dbaccess
  16. keras冻结_keras ”冻结“ 网络层
  17. 计算机基础知识图谱,基于知识图谱的大学计算机基础习题推荐方法技术
  18. RSA加密(3.0)
  19. java log4j权限被否定_Dorado中其它权限实现方案-Dashboard-资料库.DOC
  20. C程序查找段错误的方法

热门文章

  1. 几款常用的文献管理软件
  2. UE4蓝图节点不同颜色代表
  3. Linux Shell脚本文本三剑客之AWK
  4. 联想z510笔记本拆机
  5. stm32f103c6t6制作音乐频谱分析仪
  6. 自然语言处理的会议、论文集下载
  7. android 盒子 串流,Steam流式盒子(Steam串流手机App)1.1.0 安卓正式版
  8. 红米k30 允许调用gpu调试层_高效渲染!RTX 3090卡皇打造NVIDIA STUDIO强力主机实战体验|nvidia|显卡|gpu|cpu|内存...
  9. 2018年秋季学期课表
  10. 5G十大细分应用场景研究报告