亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? soap規(guī)范(完).txt

?? java學習文檔
?? TXT
字號:
作者:bdsc
email: bdscca@yahoo.ca
日期:2001-7-13 17:08:10

6. 在HTTP中使用SOAP
這一節(jié)講述了如何在HTTP中使用SOAP。把SOAP綁定到HTTP,無論使用或不用HTTP擴展框架,都有很大的好處:在利用SOAP的形式化和靈活性的同時,使用HTTP種種豐富的特性。在HTTP中攜帶SOAP消息,并不意味著SOAP改寫了HTTP已有的語義,而是將構(gòu)建在HTTP之上SOAP語義自然地對應(yīng)到HTTP語義。

SOAP自然地遵循HTTP的請求/應(yīng)答消息模型使得SOAP的請求和應(yīng)答參數(shù)可以包含在HTTP請求和應(yīng)答中。注意,SOAP的中間節(jié)點與HTTP的中間節(jié)點并不等同,即,不要期望一個根據(jù)HTTP連接頭中的域?qū)ぶ返降腍TTP中間節(jié)點能夠檢查或處理HTTP請求中的SOAP消息。

在HTTP消息中包含SOAP實體時,按照RFC2376[3] HTTP應(yīng)用程序必須使用媒體類型 "text/xml"。

6.1 SOAP HTTP請求
雖然SOAP可能與各種HTTP請求方式相結(jié)合,但是綁定僅定義了在HTTP POST請求中包含SOAP消息。(第7節(jié)中描述了如何在RPC中使用SOAP,第6.3節(jié)描述了如何使用HTTP擴展框架)

6.1.1 HTTP頭中SOAPAction域
一個HTTP請求頭中的SOAPAction域用來指出這是一個SOAP HTTP請求,它的值是所要的URI。在格式、URI的特性和可解析性上沒有任何限制。當HTTP客戶發(fā)出SOAP HTTP請求時必須使用在HTTP頭中使用這個域。

soapaction    = "SOAPAction" ":" [ <"> URI-reference <"> ]
URI-reference = <as defined in RFC 2396 [4]>

HTTP頭中SOAPAction域使服務(wù)器(如防火墻)能正確的過濾HTTP中SOAP請求消息。如果這個域的值是空字符串(""),表示SOAP消息的目標就是HTTP請求的URI。這個域沒有值表示沒有SOAP消息的目標的信息。

例子:

SOAPAction: "http://electrocommerce.org/abc#MyMessage"
SOAPAction: "myapp.sdl"
SOAPAction: ""
SOAPAction:

6.2 SOAP HTTP應(yīng)答
SOAP HTTP遵循HTTP 中表示通信狀態(tài)信息的HTTP狀態(tài)碼的語義。例如,2xx狀態(tài)碼表示這個包含了SOAP組件的客戶請求已經(jīng)被成功的收到,理解和接受。

在處理請求時如果發(fā)生錯誤,SOAP HTTP服務(wù)器必須發(fā)出應(yīng)答HTTP 500 "Internal Server Error",并在這個應(yīng)答中包含一個SOAP Fault元素(見4.4節(jié))表示這個SOAP處理錯誤。

6.3 HTTP擴展框架
一個SOAP消息可以與HTTP擴展框架 [6]一起使用以區(qū)分是否有SOAP HTTP請求和它的目標。

是使用擴展框架或是普通的HTTP關(guān)系到通信各方的策略和能力。通過使用一個必需的擴展聲明和"M-"HTTP方法名前綴,客戶可以強制使用HTTP擴展框架。服務(wù)器可以使用HTTP狀態(tài)碼510 "Not Extended"強制使用HTTP擴展框架。也就是說,使用一個額外的來回,任何一方都可以發(fā)現(xiàn)另一方的策略并依照執(zhí)行。

用來表示SOAP使用了擴展框架的擴展標志符是:

http://schemas.xmlsoap.org/soap/envelope/
6.4 SOAP HTTP舉例
例3 使用POST的SOAP HTTP

POST /StockQuote HTTP/1.1
Content-Type: text/xml; charset="utf-8"
Content-Length: nnnn
SOAPAction: "http://electrocommerce.org/abc#MyMessage"

<SOAP-ENV:Envelope...

HTTP/1.1 200 OK
Content-Type: text/xml; charset="utf-8"
Content-Length: nnnn

<SOAP-ENV:Envelope...

例4 使用擴展框架的SOAP HTTP

M-POST /StockQuote HTTP/1.1
Man: "http://schemas.xmlsoap.org/soap/envelope/"; ns=NNNN
Content-Type: text/xml; charset="utf-8"
Content-Length: nnnn
NNNN-SOAPAction: "http://electrocommerce.org/abc#MyMessage"

<SOAP-ENV:Envelope...

HTTP/1.1 200 OK
Ext:
Content-Type: text/xml; charset="utf-8"
Content-Length: nnnn

<SOAP-ENV:Envelope...

7. 在RPC中使用SOAP
設(shè)計SOAP的目的之一就是利用XML的擴展性和靈活性來封裝和交換RPC調(diào)用。這一節(jié)定義了遠程過程調(diào)用和應(yīng)答的統(tǒng)一表示形式。 

雖然可以預計到這種表示形式最可能被用于與第5節(jié)中定義的編碼方式相結(jié)合,但也可能有其它的表示形式。SOAP的encodingStyle屬性(見4.3.2節(jié))可以用來表明方法調(diào)用和應(yīng)答都使用這一節(jié)所指定的表示方式。

在RPC中使用SOAP和SOAP協(xié)議綁定(見第6節(jié))是緊密相關(guān)的。在使用HTTP作為綁定協(xié)議時,一個RPC調(diào)用自然地映射到一個HTTP請求,RPC應(yīng)答同樣映射到HTTP應(yīng)答。但是,在RPC中使用SOAP并不限于綁定HTTP協(xié)議。

要進行方法調(diào)用,以下的信息是必需的:

目標對象的URI 
方法名 
方法signature(可選) 
方法的參數(shù) 
頭數(shù)據(jù)(可選) 
SOAP依靠協(xié)議綁定提供傳送URI的機制。例如,對HTTP來說,請求的URI指出了調(diào)用的來源。除了必須是一個合法的URI之外,SOAP對一個地址的格式?jīng)]有任何限制。(更多URI的信息參見 [4])

7.1 RPC和SOAP體
RPC方法調(diào)用和應(yīng)答都包含在SOAP Body元素中(見4.3節(jié)),它們使用如下的表示形式:

一個方法調(diào)用用一個結(jié)構(gòu)表示 
一個方法調(diào)用被看作一個單個的結(jié)構(gòu),每個[in]和[in/out]參數(shù)有一個accessor。結(jié)構(gòu)的名和類型與方法相同。 
每個[in]和[in/out]參數(shù)都被看作一個accessor,這個accessor的名和類型與參數(shù)的名和類型相對應(yīng)。它們的出現(xiàn)順序和方法中定義的參數(shù)順序相同。 
一個方法應(yīng)答用一個結(jié)構(gòu)表示。 
一個方法應(yīng)答被看作一個單個的結(jié)構(gòu),返回值和每個[in]和[in/out]參數(shù)有一個accessor。第一個accessor是返回值,之后是參數(shù)accessor,參數(shù)accessor的出現(xiàn)順序和方法中定義的參數(shù)順序相同。 
每個參數(shù)accessor的名稱和類型與參數(shù)的名稱和類型相對應(yīng)。返回值accessor的名稱并不重要。同樣,結(jié)構(gòu)的名稱也不重要,不過,通常在方法名稱的后面加上字符串"Response"作為結(jié)構(gòu)的名稱。 
方法錯誤使用SOAP Fault元素(見4.4節(jié))表示。如果綁定的協(xié)議有額外的規(guī)則表示錯誤,則這些規(guī)則也必須要遵從。 
正如上面所述,方法調(diào)用和應(yīng)答結(jié)構(gòu)可以按照第5節(jié)中規(guī)則編碼,或者用encodingStyle屬性(見4.1.1節(jié))指定編碼方式。

應(yīng)用程序可以處理缺少參數(shù)的請求,但是可能返回一個錯誤。

因為返回結(jié)果表示調(diào)用成功,錯誤表示調(diào)用失敗,所以,在方法應(yīng)答中同時包含返回結(jié)果和錯誤是錯誤的。

7.2 RPC和SOAP頭
在RPC編碼中,可能會有與方法請求有關(guān)但不是正規(guī)的方法signature的附加信息。如果這樣,它必須作為SOAP頭元素的子元素。

使用這種頭元素的一個例子是在消息中傳遞事務(wù)ID。由于事務(wù)ID不是方法signature的一部分,通常由底層的組件而不是應(yīng)用程序代碼控制,所以沒有一種直接的方法在調(diào)用中傳遞這個必要的信息。通過在頭中添加一個給定名字的條目,接收方的事務(wù)管理器就可以析取這個事務(wù)ID,而且不影響遠程過程調(diào)用的代碼。

8. 安全性考慮
這篇文檔中沒有涉及完整性和保密性,這些問題將在以后的版本中描述。

9. 參考文獻 
[1] S. Bradner, "The Internet Standards Process -- Revision 3", RFC2026, Harvard University, October 1996

[2] S. Bradner, "Key words for use in RFCs to Indicate Requirement Levels", RFC 2119, Harvard University, March 1997

[3] E. Whitehead, M. Murata, "XML Media Types", RFC2376, UC Irvine, Fuji Xerox Info. Systems, July 1998

[4] T. Berners-Lee, R. Fielding, L. Masinter, "Uniform Resource Identifiers (URI): Generic Syntax", RFC 2396, MIT/LCS, U.C. Irvine, Xerox Corporation, August 1998.

[5] R. Fielding, J. Gettys, J. C. Mogul, H. Frystyk, T. Berners-Lee, "Hypertext Transfer Protocol -- HTTP/1.1", RFC 2616, U.C. Irvine, DEC W3C/MIT, DEC, W3C/MIT, W3C/MIT, January 1997

[6] H. Nielsen, P. Leach, S. Lawrence, "An HTTP Extension Framework", RFC 2774, Microsoft, Microsoft, Agranat Systems

[7] W3C Recommendation "The XML Specification"

[8] W3C Recommendation "Namespaces in XML"

[9] W3C Working Draft "XML Linking Language". This is work in progress.

[10] W3C Working Draft "XML Schema Part 1: Structures". This is work in progress. 

[11] W3C Working Draft "XML Schema Part 2: Datatypes". This is work in progress.

[12] Transfer Syntax NDR, in "DCE 1.1: Remote Procedure Call"

[13] N. Freed, N. Borenstein, "Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies", RFC2045, Innosoft, First Virtual, November 1996

A. SOAP封裝舉例
A.1 請求編碼舉例
例5 類似于例1,但有一個必要的頭

POST /StockQuote HTTP/1.1
Host: www.stockquoteserver.com
Content-Type: text/xml; charset="utf-8"
Content-Length: nnnn
SOAPAction: "Some-URI"

<SOAP-ENV:Envelope
  xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
  SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
   <SOAP-ENV:Header>
       <t:Transaction
           xmlns:t="some-URI"
           SOAP-ENV:mustUnderstand="1">
               5
       </t:Transaction>
   </SOAP-ENV:Header>
   <SOAP-ENV:Body>
       <m:GetLastTradePrice xmlns:m="Some-URI">
           <symbol>DEF</symbol>
       </m:GetLastTradePrice>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

例6 類似于例1,但有多個請求參數(shù)

POST /StockQuote HTTP/1.1
Host: www.stockquoteserver.com
Content-Type: text/xml; charset="utf-8"
Content-Length: nnnn
SOAPAction: "Some-URI"

<SOAP-ENV:Envelope
  xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
  SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
   <SOAP-ENV:Body>
       <m:GetLastTradePriceDetailed
         xmlns:m="Some-URI">
           <Symbol>DEF</Symbol>
           <Company>DEF Corp</Company>
           <Price>34.1</Price>
       </m:GetLastTradePriceDetailed>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

A.2 應(yīng)答編碼舉例 
例7 與例2類似,但有必要的頭部

HTTP/1.1 200 OK
Content-Type: text/xml; charset="utf-8"
Content-Length: nnnn

<SOAP-ENV:Envelope
  xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
  SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
   <SOAP-ENV:Header>
       <t:Transaction
         xmlns:t="some-URI"
         xsi:type="xsd:int" mustUnderstand="1">
           5
       </t:Transaction>
   </SOAP-ENV:Header>
   <SOAP-ENV:Body>
       <m:GetLastTradePriceResponse
         xmlns:m="Some-URI">
           <Price>34.5</Price>
       </m:GetLastTradePriceResponse>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

例8 與例2類似,但有一個結(jié)構(gòu)

HTTP/1.1 200 OK
Content-Type: text/xml; charset="utf-8"
Content-Length: nnnn

<SOAP-ENV:Envelope
  xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
  SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
   <SOAP-ENV:Body>
       <m:GetLastTradePriceResponse
         xmlns:m="Some-URI">
           <PriceAndVolume>
               <LastTradePrice>
                   34.5
               </LastTradePrice>
               <DayVolume>
                   10000
               </DayVolume>
           </PriceAndVolume>
       </m:GetLastTradePriceResponse>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

例9 與例2類似,但處理必要的頭出錯

HTTP/1.1 500 Internal Server Error
Content-Type: text/xml; charset="utf-8"
Content-Length: nnnn

<SOAP-ENV:Envelope
  xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
   <SOAP-ENV:Body>
       <SOAP-ENV:Fault>
           <faultcode>SOAP-ENV:MustUnderstand</faultcode>
           <faultstring>SOAP Must Understand Error</faultstring>
       </SOAP-ENV:Fault>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

例10 與例2類似,但處理Body出錯

HTTP/1.1 500 Internal Server Error
Content-Type: text/xml; charset="utf-8"
Content-Length: nnnn

<SOAP-ENV:Envelope
  xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
   <SOAP-ENV:Body>
       <SOAP-ENV:Fault>
           <faultcode>SOAP-ENV:Server</faultcode>
           <faultstring>Server Error</faultstring>
           <detail>
               <e:myfaultdetails xmlns:e="Some-URI">
                 <message>
                   My application didn't work
                 </message>
                 <errorcode>
                   1001
                 </errorcode>
               </e:myfaultdetails>
           </detail>
       </SOAP-ENV:Fault>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美人与z0zoxxxx视频| 国产成人精品亚洲日本在线桃色| 91在线精品秘密一区二区| 国产无遮挡一区二区三区毛片日本| 懂色av一区二区夜夜嗨| 久久久九九九九| 成人福利视频在线看| 最新日韩av在线| 91久久精品一区二区三区| 亚洲成人先锋电影| 日韩三级电影网址| 韩国理伦片一区二区三区在线播放| 26uuu久久天堂性欧美| 成人国产精品视频| 亚洲精品成人在线| 欧美一二三四区在线| 国内精品嫩模私拍在线| 日韩美女啊v在线免费观看| 欧美少妇bbb| 国模娜娜一区二区三区| 成人免费在线视频观看| 欧美亚洲高清一区| 精品制服美女丁香| 亚洲视频 欧洲视频| 欧美日韩和欧美的一区二区| 久久99国产精品久久99| ...av二区三区久久精品| 91超碰这里只有精品国产| 国产超碰在线一区| 婷婷激情综合网| 国产亚洲精品超碰| 欧美日韩在线播放一区| 国产资源在线一区| 亚洲一区二区五区| 国产偷v国产偷v亚洲高清| 欧美影院精品一区| 国产99久久久久久免费看农村| 亚洲午夜久久久久久久久电影网| 日韩精品一区二区三区中文不卡| 91丝袜高跟美女视频| 卡一卡二国产精品| 亚洲欧美日韩电影| 精品国产乱码久久久久久1区2区| 色天天综合色天天久久| 久久av资源站| 亚洲国产日韩一级| 国产精品乱人伦中文| 日韩一级黄色大片| 色婷婷国产精品| 成人做爰69片免费看网站| 日本成人在线视频网站| 亚洲黄网站在线观看| 欧美国产精品一区二区| 欧美一级理论片| 欧美在线免费观看亚洲| 成人免费毛片高清视频| 精彩视频一区二区三区| 午夜在线成人av| 亚洲激情av在线| 中文字幕一区二区三区四区| 精品国产99国产精品| 91麻豆精品91久久久久同性| 色素色在线综合| 91蝌蚪porny九色| 成人激情黄色小说| 国产麻豆精品95视频| 裸体一区二区三区| 国产精品亚洲午夜一区二区三区| 日韩和欧美的一区| 日本强好片久久久久久aaa| 亚洲尤物在线视频观看| 亚洲免费毛片网站| 亚洲欧洲中文日韩久久av乱码| 久久日韩粉嫩一区二区三区| xfplay精品久久| www久久精品| 2020国产精品久久精品美国| 欧美一二三四在线| 精品欧美乱码久久久久久1区2区| 日韩欧美一级在线播放| 欧美一区二区久久| 精品少妇一区二区三区| 亚洲精品一区二区精华| 久久色.com| 中文字幕免费不卡| 亚洲欧美一区二区视频| 亚洲欧美另类图片小说| 亚洲自拍偷拍网站| 五月天久久比比资源色| 蜜臂av日日欢夜夜爽一区| 精品无人码麻豆乱码1区2区| 国产精品一区二区在线播放| 成a人片国产精品| 一本色道久久综合亚洲aⅴ蜜桃| 91美女精品福利| 在线一区二区三区四区五区| 欧美日韩一区二区三区四区 | 欧美色手机在线观看| 欧美日韩一区国产| 日韩精品中文字幕在线一区| 久久综合九色综合欧美就去吻| 国产欧美日韩精品一区| 亚洲免费色视频| 热久久国产精品| 国产成人精品三级| 97久久超碰国产精品电影| 欧洲另类一二三四区| 日韩一区二区三区在线观看| 久久久国产一区二区三区四区小说| 欧美韩日一区二区三区| 亚洲乱码国产乱码精品精98午夜 | 在线免费观看日本一区| 欧美日韩另类国产亚洲欧美一级| 欧美一级高清片| 国产精品午夜春色av| 亚洲综合小说图片| 国产一区在线观看视频| jizzjizzjizz欧美| 欧美精品久久久久久久多人混战| 久久久国产精品午夜一区ai换脸| 亚洲一区二区三区小说| 国产精品一区二区久久不卡| 91免费看视频| 精品嫩草影院久久| 亚洲精品中文在线影院| 精品午夜久久福利影院| 欧美熟乱第一页| 欧美极品另类videosde| 奇米影视一区二区三区| 99国产精品一区| 26uuu亚洲婷婷狠狠天堂| 亚洲午夜久久久久久久久电影院| 国产精品亚洲а∨天堂免在线| 欧美唯美清纯偷拍| 国产精品免费视频一区| 麻豆传媒一区二区三区| 在线观看91精品国产入口| 久久精品人人做人人综合 | 夜夜夜精品看看| 懂色一区二区三区免费观看| 欧美一区二区三区视频在线| 国产精品欧美经典| 激情国产一区二区 | 91玉足脚交白嫩脚丫在线播放| 精品美女一区二区三区| 亚洲最大成人网4388xx| 高清不卡一二三区| 26uuu亚洲| 美洲天堂一区二卡三卡四卡视频| 欧美少妇bbb| 亚洲综合成人在线视频| 色综合久久综合| 国产清纯白嫩初高生在线观看91| 麻豆精品在线观看| 欧美精品99久久久**| 亚洲激情第一区| 色婷婷激情综合| 亚洲精品福利视频网站| 91免费视频观看| 亚洲卡通欧美制服中文| 9i在线看片成人免费| 国产亚洲欧洲一区高清在线观看| 精品一区二区在线视频| 欧美一区二区免费| 麻豆91免费观看| 日韩精品一区二区三区四区| 美脚の诱脚舐め脚责91| 日韩女优av电影| 久久er精品视频| 久久这里只有精品首页| 国产一区二区h| 久久久99久久| 成人亚洲一区二区一| 国产精品美女视频| 91猫先生在线| 亚洲永久免费视频| 欧美精品777| 韩国精品主播一区二区在线观看 | 欧美v国产在线一区二区三区| 日本亚洲电影天堂| 精品国精品自拍自在线| 国产麻豆视频精品| 成人免费在线观看入口| 欧美性感一类影片在线播放| 天天操天天干天天综合网| 欧美一区2区视频在线观看| 黄一区二区三区| 国产精品免费视频观看| 在线视频你懂得一区二区三区| 亚洲动漫第一页| 精品国产免费人成电影在线观看四季| 国产一区激情在线| 亚洲欧洲av在线| 欧美日韩中文字幕一区二区| 日本不卡在线视频| 久久精品欧美一区二区三区不卡| av欧美精品.com| 亚洲成av人片在www色猫咪| 亚洲精品在线观| 91亚洲永久精品|