📄 soap2.htm
字号:
</TD></TR>
<TR>
<TD><IMG height=7 src="soap2.files/menu_bg2.jpg" width=778></TD></TR>
<TR>
<TD background=soap2.files/addr.jpg height=21>
<TABLE cellSpacing=0 cellPadding=0 width="96%" border=0>
<TBODY>
<TR>
<TD align=middle width="5%"><IMG height=17
src="soap2.files/arrows2.gif" width=16></TD>
<TD>您现在的位置: <A class=LinkPath
href="http://www.good78.com/">好易网络</A> >> <A
class=LinkPath
href="http://www.good78.com/Article/Index.html">IT技术</A> >> <A
class=LinkPath
href="http://www.good78.com/Article/wlbc/Index.html">网络编程</A> >> <A
class=LinkPath
href="http://www.good78.com/Article/wlbc/net/Index.html">.Net专区</A> >> 文章正文</TD>
<TD width=180>
<SCRIPT language=JavaScript>
unionuser = "j186";
</SCRIPT>
<SCRIPT language=JavaScript src="soap2.files/text.js"></SCRIPT>
</TD></TR></TBODY></TABLE></TD></TR>
<TR>
<TD background=soap2.files/addr_line.jpg height=4></TD></TR></TBODY></TABLE><!-- ********网页顶部代码结束******** --><!-- ********网页中部代码开始******** -->
<TABLE cellSpacing=0 cellPadding=0 width=760 align=center border=0>
<TBODY>
<TR>
<TD><IFRAME id=nadframe marginWidth=0 marginHeight=0
src="soap2.files/ClassTree.htm" frameBorder=0 width=760 scrolling=no
height=60></IFRAME>
<SCRIPT language=javascript src="soap2.files/7.js"></SCRIPT>
</TD></TR></TBODY></TABLE>
<TABLE class=center_tdbgall style="WORD-BREAK: break-all" cellSpacing=0
cellPadding=0 width=760 align=center border=0>
<TBODY>
<TR>
<TD class=main_tdbgall vAlign=top><!--网页中部左栏文章内容代码开始-->
<TABLE class=main_title_760 style="WORD-BREAK: break-all" cellSpacing=0
cellPadding=0 width="100%" align=center border=0>
<TBODY>
<TR>
<TD vAlign=center> <STRONG>SOAP Version 1.2中文手冊(2)</STRONG></TD>
<TD
align=right> <FONT
color=#009999></FONT></TD></TR></TBODY></TABLE>
<TABLE class=main_tdbg_575 style="WORD-BREAK: break-all" cellSpacing=0
cellPadding=0 width="100%" align=center border=0>
<TBODY>
<TR vAlign=center align=middle>
<TD class=main_ArticleTitle style="WORD-BREAK: break-all" colSpan=2
height=30>SOAP Version 1.2中文手冊(2)</TD></TR>
<TR vAlign=center align=middle>
<TD class=main_ArticleSubheading style="WORD-BREAK: break-all"
colSpan=2></TD></TR>
<TR class=Article_tdbgall align=middle>
<TD colSpan=2>作者:佚名 文章来源:不详 点击数:
<SCRIPT language=javascript src="soap2.files/GetHits.htm"></SCRIPT>
更新时间:2006-6-11 <A
title=收藏的网页将被永久地保存到新浪ViVi收藏夹http://vivi.sina.com.cn
href="javascript:d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(vivi=window.open('http://vivi.sina.com.cn/collect/icollect.php?pid=2008&title='+escape(d.title)+'&url='+escape(d.location.href)+'&desc='+escape(t),'vivi','scrollbars=no,width=480,height=480,left=75,top=20,status=no,resizable=yes'));vivi.focus();"><IMG
src="soap2.files/vivi_coop1.gif" align=absMiddle border=0></A></TD></TR>
<TR class=Article_tdbgall align=middle>
<TD colSpan=2>
<SCRIPT language=javascript src="soap2.files/9.js"></SCRIPT>
<BR><BR>
<SCRIPT type=text/javascript><!--
google_ad_client = "pub-6946608638054115";
google_ad_width = 468;
google_ad_height = 15;
google_ad_format = "468x15_0ads_al_s";
google_ad_channel ="";
google_color_border = "FFFFFF";
google_color_bg = "FFFFFF";
google_color_link = "940F04";
google_color_text = "000000";
google_color_url = "008000";
//--></SCRIPT>
<SCRIPT src="soap2.files/show_ads.js" type=text/javascript>
</SCRIPT>
<BR><BR></TD></TR>
<TR>
<TD id=fontzoom style="WORD-BREAK: break-all" vAlign=top colSpan=2
height=300>
<TABLE cellSpacing=0 cellPadding=10 align=left border=0>
<TBODY>
<TR>
<TD>
<SCRIPT type=text/javascript><!--
google_ad_client = "pub-6946608638054115";
google_ad_width = 300;
google_ad_height = 250;
google_ad_format = "300x250_as";
google_ad_type = "text_image";
google_ad_channel ="";
google_color_border = "FFFFFF";
google_color_bg = "FFFFFF";
google_color_link = "CC0000";
google_color_text = "000000";
google_color_url = "0066CC";
//--></SCRIPT>
<SCRIPT src="soap2.files/show_ads.js" type=text/javascript>
</SCRIPT>
<BR><BR>精彩推荐>>>
<SCRIPT language=javascript src="soap2.files/10.js"></SCRIPT>
</TD></TR></TBODY></TABLE>1. 引言
<P></P>
<P><BR>SOAP
<BR>v1.2为在一个松散的、分布的环境中使用XML对等地交换结构化的和类型化的信息提供了一个简单且轻量级的机制。SOAP本身并不定义任何应用语义,如编程模型或特定语义实现,它只是定义了一种简单的机制,通过一个模块化的包装模型和对模块中特定格式编码的数据的重编码机制来表示应用语义。SOAP的这项能力使得它可被很多类型的系统用于从消息系统到RPC(Remote
<BR>Procedure Call)的延伸。<BR>SOAP由四部分组成:</P>
<P></P>
<P></P>
<P>SOAP envelop (SOAP信封,参阅
href="file:///F:/Documents%20and%20Settings/Fennivel/My%20Documents/tWork.Web.Service/2-SOAP/SOAP%20Version%201_2.htm#_Toc478383494">section
<BR>4),它构造定义了一个整体的表示框架,可用于表示在消息(message)中的是什么,谁应当处理它,以及这是可选的
<BR>还是强制的。</P>
<P></P>
<P><BR>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
<BR>5),定义了一个编序机制用于交换应用程序定义的数据类型的实例。</P>
<P></P>
<P><BR>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
<BR>7),定义了一个用于表示远端过程调用和响应的约定。</P>
<P></P>
<P>SOAP binding (SOAP绑定,参阅
href="file:///F:/Documents%20and%20Settings/Fennivel/My%20Documents/tWork.Web.Service/2-SOAP/SOAP%20Version%201_2.htm#_Toc478383526">section
<BR>6) 定义了一个使用底层传输协议来完成在结点间交换SOAP信封的约定。</P>
<P><BR>为了简化本规范,这四部分在功能上是正交的。特别的,信封和编码规则是被定义在不同的命名空间(namespace)中,这样有利于通过模块化获得简明性。</P>
<P>本规范还定义了两种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
<BR>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)进行传输。</P>
<P><BR>1.1 设计目标</P>
<P><BR>SOAP的主要设计目标是简明性和可扩展性。这就意味着有一些传统消息系统或分布式对象系统中的特性将不包含在SOAP的核心规范中。这些特性包括:</P>
<P></P>
<P></P>
<P><BR>分布式垃圾收集 (distributed garbage collection);</P>
<P></P>
<P><BR>批量消息传输/处理 (boxcarring or batching of messages);</P>
<P></P>
<P><BR>对象引用 (objects-by-reference, 需要分布式垃圾收集的支持);</P>
<P></P>
<P><BR>对象激活 (activation, 需要对象引用的支持)。</P>
<P></P>
<P>1.2 符号约定</P>
<P><BR>本文中的关键词“MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”,
<BR>“SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”,
<BR>“OPTIONAL”的语义应当参阅RFC-2119
href="file:///F:/Documents%20and%20Settings/Fennivel/My%20Documents/tWork.Web.Service/2-SOAP/SOAP%20Version%201_2.htm#RFC2119">[2]。在本中文版规范中被翻译成:“必须”、“必须不”,“需要的”,“将”,“将不”,“应该”,“应该不”,“被推荐的”,“可以”,“可选的”。</P>
<P><BR>本文中使用的命名空间前缀“env”和“enc”等关联的SOAP命名空间分别位于以下位置:"
href="http://www.w3.org/2001/06/soap-envelope">http://www.w3.org/2001/06/soap-envelope"
<BR>和"
href="http://www.w3.org/2001/06/soap-encoding">http://www.w3.org/2001/06/soap-encoding"。</P>
<P><BR>在本文的全部内容中,命名空间前缀"xs"和"xsi"总假定是与"
href="http://www.w3.org/2001/XMLSchema">http://www.w3.org/2001/XMLSchema"
<BR>和"
href="http://www.w3.org/2001/XMLSchema-instance">http://www.w3.org/2001/XMLSchema-instance"相关联的,这是由XML
<BR>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]所定义的。</P>
<P><BR>值得注意的是其他的对命名空间前缀的使用都是比较随意的而并没有显著语义的约束的。</P>
<P><BR>若命名空间的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]。</P>
<P><BR>本规范使用扩充BNF(Backus-Naur Form)作为构造语言,可参阅RFC-2612
href="file:///F:/Documents%20and%20Settings/Fennivel/My%20Documents/tWork.Web.Service/2-SOAP/SOAP%20Version%201_2.htm#RFC2616">[5]。</P>
<P><BR>编辑的注解将使用黄色背景标识(也许无法在所有的媒介上显示),并使用前缀"Ednote"。</P>
<P><BR>1.3 SOAP消息示例</P>
<P><BR>第一个例子展示了一个使用SOAP表示的简单的通知消息。该消息包含了一个消息头"alertcontrol"和消息体"alert",这两部分都是由应用程序定义的,而而并不是由SOAP定义的。消息头包含了两个参数"priority"和"expires",用于消息传输中介和消息接受者对消息的处理。而消息体中则包含是实际传送的消息。</P>
<P></P>
<P><BR>Example 0</P>
<P><BR>1 2001-06-22T14:00:00-05:00 Pick up Mary at school at 2pm
</P>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -