对于SOAP协议的全面介绍
创始人
2024-07-13 13:51:44
0

学习了一段时间的网络协议,相信大家已经对一些常规的网络协议有所了解了。那么这里我们主要介绍一下SOAP协议的内容。SOAP协议:简单对象访问协议(SOAP:Simple Object Access Protocol),简单对象访问协议(SOAP)是一种轻量的、简单的、基于 XML 的协议,它被设计成在 WEB 上交换结构化的和固化的信息. SOAP协议可以和现存的许多因特网协议和格式结合使用,包括超文本传输协议( HTTP),简单邮件传输协议(SMTP),多用途网际邮件扩充协议(MIME).它还支持从消息系统到远程过程调用(RPC)等大量的应用程序.

SOAP 包括三个部分:

SOAP 封装:它定义了一个框架 , 该框架描述了消息中的内容是什么,谁应当处理它以及它是可选的还是必须的.

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

SOAP RPC 表示:它定义了用于表示远程过程调用和应答的协定.(RPC:英文原义:Remote Procedure Call Protocol

中文释义:(RFC-1831)远程过程调用协议)

SOAP 消息基本上是从发送端到接收端的单向传输,但它们常常结合起来执行类似于请求 / 应答的模式.所有的 SOAP 消息都使用 XML 编码.一条 SOAP 消息就是一个包含有一个必需的 SOAP 的封装包,一个可选的 SOAP 标头和一个必需的 SOAP 体块的 XML 文档.把 SOAP 绑定到 HTTP 提供了同时利用 SOAP 的样式和分散的灵活性的特点以及 HTTP 的丰富的特征库的优点.在 HTTP 上传送 SOAP 并不是说 SOAP 会覆盖现有的 HTTP 语义,而是 HTTP 上的 SOAP 语义会自然的映射到 HTTP 语义.在使用 HTTP 作为协议绑定的场合中, RPC 请求映射到 HTTP 请求上,而 RPC 应答映射到 HTTP 应答.然而,在 RPC 上使用 SOAP 并不仅限于 HTTP 协议绑定.

SOAP也可以绑定到TCP和UDP协议上.

协议结构

SOAP协议消息格式:

SOAP 标头

  1. Attributes> 
  2. Attributes  
  3.  
  4.  

目前主要在web服务中运用.

SOAP Action WEB编码中常见,协议开始起始意思,常见于编码启始句.

语法规则

这里是一些重要的语法规则:

SOAP 消息必须用 XML 来编码

SOAP 消息必须使用 SOAP Envelope 命名空间

SOAP 消息必须使用 SOAP Encoding 命名空间

SOAP 消息不能包含 DTD 引用

SOAP 消息不能包含 XML 处理指令

SOAP 消息的基本结构

  1.  
  2. xmlns:soap="http://www.w3.org/2001/12/soap-envelope" 
  3. soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"> 
  4.  
  5. ...  
  6. ...  
  7.  
  8.  
  9. ...  
  10. ...  
  11.  
  12. ...  
  13. ...  
  14.  
  15.  
  16.  

现在采用webservice+soap的比较火,原因:

WebService可用基于XML的SOAP来表示数据和调用请求,并且通过HTTP协议来传输这些XML格式的数据,因为此时的调用请求和回应消息是可以穿过防火墙的,一般来说都只有80端口是开放的.具资料显示在WebService之前实现的一些所谓的分布式组件技术是采用二进制来表示的,还需要通过特殊的端口来通信.明显当遇到防火墙时就会失败.webservice***优点就是实现异构平台间的互通.这也是使用WebService的主要原因之一.这样任何两个应用程序,只要他们能读写XML,就能相互通信.

1.webservice部署比较方便(它直接通过网络引用,只要服务器端抛出的接口不变,客户端是没法知道的,因为所以的内部计算都是在服务器运行的)DLL,部署,更新需要每个应用了这个DLL的应用程序都作相应的引用更新...而如果用了Ws,则不用,因为它通过网络部署,通过网络引用,基本上,ws发生了变化,客户端没有影响,甚至不知道有这样的变化...

2.web service的编写,跟普通的class差不多.

3.当然还有一个好处:平台无关.C#,Java写的ws可以相互调用.

4.做分布式系统.比如 说把数据访问部分写成ws,发布在另外一台server上... ...

Webservice与WCF的区别:

webservice 集成了 WEBservice,.NET Remoting,enterprise Service,WSE,MSMQ等技术的整合。WCF具有WEBservice的优点和弥补了他的缺点.但是为了加强WEB service 的安全性的规范性,微软使用WCF来绑定一些规范,让VS生成代码更加迅速准确.比如 的协议节点的生成,加密,(这块内容还有很多,但是我只接触到这两点),在VS2008中,WCF就是通过接口来实现服务的.和VS2005下实现WEB SerVCie有点不一样.微软有意将WCF做称一个强大的解决方案整合.特别是它的强大的配置性. .

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
规避非法攻击 用好路由器远程管... 单位在市区不同位置设立了科技服务点,每一个服务点的员工都通过宽带路由器进行共享上网,和单位网络保持联...
范例解读VB.NET获取环境变... VB.NET编程语言的使用范围非常广泛,可以帮助开发人员处理各种程序中的需求,而且还能对移动设备进行...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...