转自:http://blog.csdn.net/zhangguoyuanblog/article/details/7969099
一、简介
简单对象访问协议 含义二、组成
SOAP: 简单对象访问协议三、协议结构
SOAP 消息 格式:四、语法规则
这里是一些重要的语法规则:五、SOAP 核心技术
SOAP采用了已经广泛使用的两个协议:HTTP 和 XML 。HTTP用于实现 SOAP 的RPC 风格的传输, 而XML 是它的编码模式。采用几行代码和一个XML 解析器, HTTP 服务器 ( MS 的 IIS 或 Apache) 立刻成为SOAP 的 ORBS。SOAP 通讯协议使用 HTTP 来发送XML 格式的信息。HTTP与RPC 的协议很相似,它简单、 配置广泛,并且对 防火墙 比其它协议更容易发挥作用。HTTP 请求一般由 Web 服务器软件 (如 IIS 和Apache)来处理, 但越来越多的 应用服务器 产品正在支持HTTP。XML 作为一个更好的 网络数据 表达方式( NDR)。SOAP 把 XML 的使用代码化为请求和响应参数编码模式, 并用HTTP 作传输。具体地讲, 一个SOAP 方法可以简单地看作遵循SOAP编码规则的 HTTP请求 和响应, 一个 SOAP 终端 则可以看作一个基于HTTP 的URL, 它用来识别方法调用的目标。像CORBA/ IIOP一样, SOAP不需要具体的对象绑定到一个给定的终端, 而是由具体实现程序来决定怎样把对象终端 标识符 映像到服务器端的对象。六、SOAP 的优点
(1) SOAP 是可扩展的。SOAP 无需中断已有的 应用程序 , SOAP 客户端 、 服务器 和协议自身都能发展。(5) SOAP 与平台无关。SOAP 可以在任何操作系统中无需改动正常运行。
附:无状态协议
无状态协议
维基百科,自由的百科全书
无状态服务器是指一种把每个请求作为与之前任何请求都无关的独立的事务的服务器。
[编辑]优劣
无状态的设计简化了服务器端的设计,不必动态分配存储空间以处理进行中的会话。如果客户端在事务处理中间被中断了,系统不必为清理服务器状态而作出响应。
缺陷是有时候在每个请求时包括附加的信息是必要的,这些额外信息需要服务器来解释。
[编辑]示例
HTTP服务器就是一个例子。以URL形式提交的客户端请求可能包含cookies等带状态的数据,这些数据完全指定了所需的文档,而不需要其他之前请求的上下文或内存。
与传统的FTP服务器相比,FTP服务器与用户进行交互,向服务器发出的索取文件的请求,其假定是用户已经通过认证,并且当前的目录和文件传输模式已经设定。