SOAP Version 1.2中文手冊(2)-xml教程
转载自:互联网 作者:cd3c.com
您正在看的xml教程是:SOAP Version 1.2中文手冊(2)。1. 引言
SOAP
v1.2为在一个松散的、分布的环境中使用XML对等地交换结构化的和类型化的信息提供了一个简单且轻量级的机制。SOAP本身并不定义任何应用语义,如编程模型或特定语义实现,它只是定义了一种简单的机制,通过一个模块化的包装模型和对模块中特定格式编码的数据的重编码机制来表示应用语义。SOAP的这项能力使得它可被很多类型的系统用于从消息系统到RPC(Remote
Procedure Call)的延伸。
SOAP由四部分组成:
SOAP envelop (SOAP信封,参阅 href="file:///F:/Documents%20and%20Settings/Fennivel/My%20Documents/tWork.Web.Service/2-SOAP/SOAP%20Version%201_2.htm#_Toc478383494">section
4),它构造定义了一个整体的表示框架,可用于表示在消息(message)中的是什么,谁应当处理它,以及这是可选的
还是强制的。
SOAP encoding rules (SOAP编码规则,参阅 href="file:///F:/Documents%20and%20Settings/Fennivel/My%20Documents/tWork.Web.Service/2-SOAP/SOAP%20Version%201_2.htm#_Toc478383512">section
5),定义了一个编序机制用于交换应用程序定义的数据类型的实例。
SOAP RPC representation (SOAP RPC表示,参阅 href="file:///F:/Documents%20and%20Settings/Fennivel/My%20Documents/tWork.Web.Service/2-SOAP/SOAP%20Version%201_2.htm#_Toc478383532">section
7),定义了一个用于表示远端过程调用和响应的约定。
SOAP binding (SOAP绑定,参阅 href="file:///F:/Documents%20and%20Settings/Fennivel/My%20Documents/tWork.Web.Service/2-SOAP/SOAP%20Version%201_2.htm#_Toc478383526">section
6) 定义了一个使用底层传输协议来完成在结点间交换SOAP信封的约定。
为了简化本规范,这四部分在功能上是正交的。特别的,信封和编码规则是被定义在不同的命名空间(namespace)中,这样有利于通过模块化获得简明性。
本规范还定义了两种SOAP绑定(binding),用于描述SOAP消息(message)如何通过带或不带HTTP扩展框架 href="file:///F:/Documents%20and%20Settings/Fennivel/My%20Documents/tWork.Web.Service/2-SOAP/SOAP%20Version%201_2.htm#RFC2774">[6](HTTP
Extension Framework)的HTTP href="file:///F:/Documents%20and%20Settings/Fennivel/My%20Documents/tWork.Web.Service/2-SOAP/SOAP%20Version%201_2.htm#RFC2616">[5]消息(message)进行传输。
1.1 设计目标
SOAP的主要设计目标是简明性和可扩展性。这就意味着有一些传统消息系统或分布式对象系统中的特性将不包含在SOAP的核心规范中。这些特性包括:
分布式垃圾收集 (distributed garbage collection);
批量消息传输/处理 (boxcarring or batching of messages);
对象引用 (objects-by-reference, 需要分布式垃圾收集的支持);
对象激活 (activation, 需要对象引用的支持)。
1.2 符号约定
本文中的关键词“MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”,
“SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”,
“OPTIONAL”的语义应当参阅RFC-2119 href="file:///F:/Documents%20and%20Settings/Fennivel/My%20Documents/tWork.Web.Service/2-SOAP/SOAP%20Version%201_2.htm#RFC2119">[2]。在本中文版规范中被翻译成:“必须”、“必须不”,“需要的”,“将”,“将不”,“应该”,“应该不”,“被推荐的”,“可以”,“可选的”。
本文中使用的命名空间前缀“env”和“enc”等关联的SOAP命名空间分别位于以下位置:" href="http://www.w3.org/2001/06/soap-envelope">http://www.w3.org/2001/06/soap-envelope"
和" href="http://www.w3.org/2001/06/soap-encoding">http://www.w3.org/2001/06/soap-encoding"。
在本文的全部内容中,命名空间前缀"xs"和"xsi"总假定是与" href="http://www.w3.org/2001/XMLSchema">http://www.w3.org/2001/XMLSchema"
和" href="http://www.w3.org/2001/XMLSchema-instance">http://www.w3.org/2001/XMLSchema-instance"相关联的,这是由XML
Schemas规范[ href="file:///F:/Documents%20and%20Settings/Fennivel/My%20Documents/tWork.Web.Service/2-SOAP/SOAP%20Version%201_2.htm#XMLS1">10, href="file:///F:/Documents%20and%20Settings/Fennivel/My%20Documents/tWork.Web.Service/2-SOAP/SOAP%20Version%201_2.htm#XMLS2">11]所定义的。
值得注意的是其他的对命名空间前缀的使用都是比较随意的而并没有显著语义的约束的。
若命名空间的URI使用"http://example.org/..."或"http://example.com/..."的形式,表明这是一些应用依赖或上下文依赖的URI href="file:///F:/Documents%20and%20Settings/Fennivel/My%20Documents/tWork.Web.Service/2-SOAP/SOAP%20Version%201_2.htm#RFC2396">[4]。
本规范使用扩充BNF(Backus-Naur Form)作为构造语言,可参阅RFC-2612 href="file:///F:/Documents%20and%20Settin
[1] [2] 下一篇
