⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 soap5.htm

📁 这是一个实现登陆的页面程序
💻 HTM
📖 第 1 页 / 共 5 页
字号:
  <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中文手冊(5)</STRONG></TD>
          <TD 
            align=right>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<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中文手冊(5)</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="soap5.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&amp;title='+escape(d.title)+'&amp;url='+escape(d.location.href)+'&amp;desc='+escape(t),'vivi','scrollbars=no,width=480,height=480,left=75,top=20,status=no,resizable=yes'));vivi.focus();"><IMG 
            src="soap5.files/vivi_coop1.gif" align=absMiddle border=0></A></TD></TR>
        <TR class=Article_tdbgall align=middle>
          <TD colSpan=2>
            <SCRIPT language=javascript src="soap5.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="soap5.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="soap5.files/show_ads.js" type=text/javascript>
</SCRIPT>
                  <BR><BR>精彩推荐&gt;&gt;&gt;
                  <SCRIPT language=javascript src="soap5.files/10.js"></SCRIPT>
                   </TD></TR></TBODY></TABLE>6. 在HTTP中使用SOAP
            <P></P>
            <P><BR>本节描述了如何在使用或不使用HTTP Extension 
            Framework的前提下将SOAP与HTTP的协同工作机制。将SOAP绑定在HTTP上可以利用HTTP丰富的特性集,提供使用SOAP形式方法和分布适应性的优点。将SOAP在HTTP上传输并不以为着SOAP可以完全超越HTTP的语义,更恰当的描述应当是SOAP的语义通过HTTP的映射而很自然地成为HTTP的语义。</P>
            <P></P>
            <P>SOAP很自然地利用HTTP的请求/响应消息模型,将SOAP请求的参数放在HTTP请求里,而将SOAP响应的参数放在HTTP响应里面。注意,无论如何,SOAP的中间介与HTTP中间介是不同的。也就是说,根据HTTP 
            Connection头字段来寻址的HTTP中间介一般并不能来处理HTTP请求中的SOAP实体体。</P>
            <P></P>
            <P>当需要将SOAP消息体包含在HTTP消息中时,HTTP应用程序必须依照RFC2376[3]使用媒体类型“text/xml”。</P>
            <P></P>
            <P>6.1 SOAP HTTP请求</P>
            <P><BR>虽然SOAP可以和多种HTTP请求方法联合使用,但这里的绑定只定义了SOAP是如何在HTTP 
            Post请求中传输的。(可参阅section 7了解如何在RPC中使用SOAP,以及section 6.3如何使用HTTP 
            Extension Framework)</P>
            <P></P>
            <P>6.1.1 HTTP Header中的SOAPAction字段</P>
            <P><BR>SOAPAction HTTP请求头字段(header field)可以用于指示SOAP 
            HTTP请求的目的。它的值是一个标识该目的的URI。SOAP对于格式上并没有严格的限制,同时对URI的描述以及是否要是可解析的都没有严格的限制。当发出SOAP 
            HTTP请求时,HTTP客户必须使用该头字段。</P>
            <P></P>
            <P><BR><BR>soapaction <BR>= <BR>"SOAPAction" ":" [ &lt;"&gt; 
            URI-reference &lt;"&gt; ] </P>
            <P><BR>URI-reference <BR>= <BR>&lt;as defined in RFC 2396 [4]&gt; 
            </P>
            <P><BR>SOAPAction头字段的存在及其内容可以被服务器例如防火墙用于在HTTP中过滤SOAP请求消息。当该字段的值为空字符串( 
            “”)时,则意味着SOAP消息的目的由HTTP Request-URI来提供。而如果没有值则表示对消息的目的没有指示。</P>
            <P></P>
            <P>例如:</P>
            <P></P>
            <P></P>
            <P>Example 42</P>
            <P><BR>SOAPAction: 
            "http://electrocommerce.org/abc#MyMessage"SOAPAction: 
            "myapp.sdl"SOAPAction: ""SOAPAction:</P>
            <P><BR>Examples of values for SOAPAction</P>
            <P><BR>6.2 SOAP HTTP响应</P>
            <P><BR>在HTTP之上的SOAP遵从用于在HTTP中表示通讯状态的HTTP状态代码的语义。例如,2xx状态代码表明这是客户端包含SOAP构件的请求被成功的接收、理解和接受等等。</P>
            <P></P>
            <P>当处理请求的时候发生SOAP错误的时候,SOAP HTTP服务器必须发出一个HTTP 500 “Internal Server 
            Error”响应同时在包含于该响应的SOAP消息中应包含一个SOAP Fault元素(参阅 section 
            4.4)来指明SOAP处理的错误。</P>
            <P></P>
            <P>6.3 HTTP扩展框架</P>
            <P><BR>SOAP消息可以与HTTP Extension Framework[6]一起使用来标识SOAP 
            HTTP请求的出现和意图。</P>
            <P></P>
            <P>是使用Extension 
            Framework还是使用简单HTTP对于通讯各方而言是一个策略及能力的问题。客户端可以通过一个强制扩展声明以及一个“M-”HTTP方法名前缀来强制使用HTTP 
            Extension Framwork。服务器端可以通过使用 510 “Not Extended” HTTP状态代码来强制使用HTTP 
            Extension Framework。也就是说,通过一次额外的环游,每个通讯方都可以检测到其他通讯方和因此的动作。</P>
            <P></P>
            <P>用于使用Extension Framework标识SOAP的扩展标识是:</P>
            <P>http://www.w3.org/2001/06/soap-envelope</P>
            <P><BR>6.4 SOAP HTTP示例</P>
            <P></P>
            <P><BR>Example 43</P>
            <P><BR>POST /StockQuote HTTP/1.1Content-Type: text/xml; 
            charset="utf-8"Content-Length: nnnnSOAPAction: 
            "http://electrocommerce.org/abc#MyMessage"&lt;env:Envelope 
            xmlns:env="http://www.w3.org/2001/06/soap-envelope" &gt; . . 
            .&lt;/env:Envelope&gt;</P>
            <P><BR>SOAP HTTP Request Using POST</P>
            <P><BR> </P>
            <P></P>
            <P></P>
            <P>Example 44</P>
            <P><BR>HTTP/1.1 200 OKContent-Type: text/xml; 
            charset="utf-8"Content-Length: nnnn&lt;env:Envelope 
            xmlns:env="http://www.w3.org/2001/06/soap-envelope" &gt; . . 
            .&lt;/env:Envelope&gt;</P>
            <P><BR>SOAP HTTP Response to Example 43</P>
            <P><BR> </P>
            <P></P>
            <P></P>
            <P>Example 45</P>
            <P><BR>M-POST /StockQuote HTTP/1.1Man: 
            "http://www.w3.org/2001/06/soap-envelope"; ns=NNNNContent-Type: 
            text/xml; charset="utf-8"Content-Length: nnnnNNNN-SOAPAction: 
            "http://electrocommerce.org/abc#MyMessage"&lt;env:Envelope 
            xmlns:env="http://www.w3.org/2001/06/soap-envelope" &gt; . . 
            .&lt;/env:Envelope&gt;</P>
            <P><BR>SOAP HTTP Request using the experimental HTTP Extension 
            Framework</P>
            <P><BR> </P>
            <P></P>
            <P></P>
            <P>Example 46</P>
            <P><BR>HTTP/1.1 200 OKExt:Content-Type: text/xml; 
            charset="utf-8"Content-Length: nnnn&lt;env:Envelope 
            xmlns:env="http://www.w3.org/2001/06/soap-envelope" &gt; . . 
            .&lt;/env:Envelope&gt;</P>
            <P><BR>SOAP HTTP Response to Example 45</P>
            <P><BR>7. 在RPC中使用SOAP</P>
            <P><BR>SOAP的一个设计目标就是要利用XML的可扩展性和可伸缩性来包装和交换RPC调用。本节定义了一个统一的远程过程调用和响应的表示。</P>
            <P></P>
            <P>其实我们也可以预想到在RPC环境下的表示很可能是与在其他表示中定义的编码风格结合。SOAP encodingStyle属性(参阅 
            section 4.3.2)可以被用于指明在本节表示中使用的方法调用/响应的编码风格。</P>
            <P></P>
            <P>在RPC中使用SOAP与SOAP协议绑定(参阅 section 
            6)基本是正交的。在使用HTTP作为SOAP协议绑定媒介的情况下,一个RPC调用可以很自然地映射到一个HTTP请求,而RPC响应则可以映射到HTTP响应。无论如何,使用SOAP方式的RPC并不限于HTTP协议绑定。</P>
            <P></P>
            <P>为实施一个方法调用,需要以下信息:</P>
            <P></P>
            <P></P>
            <P></P>
            <P>目标SOAP结点的URI</P>
            <P></P>
            <P></P>
            <P>方法名</P>
            <P></P>
            <P></P>
            <P>可选的方法或过程的特征</P>
            <P></P>
            <P></P>
            <P>方法或过程的参数</P>
            <P></P>
            <P></P>
            <P>可选的头数据</P>
            <P></P>
            <P>SOAP依赖协议绑定来提供传送URI的机制。例如,对HTTP而言,请求URI指明了与该调用相对应的资源。除要求该URI是合法的以外,SOAP对于该地址没有任何限制(参阅[4]以获得URI的更多信息)。</P>
            <P></P>
            <P>7.1 RPC和SOAP Body</P>
            <P><BR>RPC调用和响应都是在SOAP Body元素(参阅 section 4.3)中传送,使用如下表示方式:</P>
            <P></P>
            <P></P>
            <P></P>
            <P>一个方法调用被建模成一个结构struct。</P>
            <P></P>
            <P></P>
            <P>该方法调用显示为一个简单结构struct,包含每个[in]或[in/out]参数的存取标识。该结构的名和类型可使用过程或方法的名来标识。</P>
            <P></P>
            <P></P>
            <P>每个[in]或[in/out]参数都被表示为一个存取标识,该存取标识的名和类型都对应于相应参数的名和类型。他们的次序也是按照原来RPC中的次序。</P>
            <P></P>
            <P></P>
            <P>一个方法响应被建模成一个结构struct。</P>
            <P></P>
            <P></P>
            <P>该方法响应显示为一个简单结构struct,包含每个[out]或[in/out]参数的存取标识。而第一个存取标识是返回值,而随后则是按照原来次序的返回参数。</P>
            <P></P>
            <P></P>
            <P>每个[out]或[in/out]参数都被表示为一个存取标识,该存取标识的名和类型都对应于相应参数的名和类型。返回值的存取标识名并没有多少语义。同样的,结构的名也并没有多少语义。当然,无论如何,在添加了“Response”字串的方法名后,要有一个约定来命名它。</P>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -