在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美

當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

soap規范(完)

soap規范(完)

更新時間:2022-04-29 文章作者:未知 信息來源:網絡 閱讀次數:

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

SOAP自然地遵循HTTP的請求/應答消息模型使得SOAP的請求和應答參數可以包含在HTTP請求和應答中。注意,SOAP的中間節點與HTTP的中間節點并不等同,即,不要期望一個根據HTTP連接頭中的域尋址到的HTTP中間節點能夠檢查或處理HTTP請求中的SOAP消息。

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

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

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

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

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

例子:

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

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

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

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

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

用來表示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
設計SOAP的目的之一就是利用XML的擴展性和靈活性來封裝和交換RPC調用。這一節定義了遠程過程調用和應答的統一表示形式。

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

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

要進行方法調用,以下的信息是必需的:

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

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

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

應用程序可以處理缺少參數的請求,但是可能返回一個錯誤。

因為返回結果表示調用成功,錯誤表示調用失敗,所以,在方法應答中同時包含返回結果和錯誤是錯誤的。

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

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

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,但有多個請求參數

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 應答編碼舉例
例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類似,但有一個結構

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>

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美
  • <li id="86scu"><menu id="86scu"></menu></li>
    <li id="86scu"></li>
    <button id="86scu"></button>
  • <s id="86scu"></s><button id="86scu"><menu id="86scu"></menu></button>
  • 男人女人黄一级| aa视频在线播放| 国产成人无码av在线播放dvd| 深爱五月综合网| 欧洲美女亚洲激情| 女同激情久久av久久| 久久婷婷综合色| 日日干夜夜操s8| 9l视频白拍9色9l视频| 国产wwwxx| 日本一二区免费| 在线黄色免费观看| 色综合天天色综合| 在线免费看污网站| 亚洲精品偷拍视频| 久久亚洲国产成人精品无码区| 欧美日韩亚洲国产成人| 熟女视频一区二区三区| 男人添女人荫蒂免费视频| 日韩一级片免费视频| 国产中文字幕免费观看| 91小视频网站| av日韩在线看| 91精品91久久久中77777老牛| 欧美色图另类小说| 日本77777| 久久男人资源站| 国产1区2区在线| 性久久久久久久久久久久久久| 91国在线高清视频| 女人另类性混交zo| 精品国产鲁一鲁一区二区三区| 91嫩草国产丨精品入口麻豆 | 美女喷白浆视频| 国产三级精品三级在线| 免费超爽大片黄| 亚洲18在线看污www麻豆| 欧美日韩视频免费| 亚洲欧美国产日韩综合| 分分操这里只有精品| 97超碰人人爽| 国产精品亚洲a| 亚洲精品少妇一区二区| 污版视频在线观看| 日本福利视频一区| 亚洲欧美一区二区三区不卡| www.四虎成人| 波多野结衣与黑人| 一起操在线视频| 亚洲色图38p| 六月婷婷在线视频| 麻豆映画在线观看| 欧美女同在线观看| 国产成人av影视| 日韩少妇内射免费播放| 91成人综合网| 精品日韩在线播放| 天堂网成人在线| 午夜不卡福利视频| 在线观看av网页| 波多野结衣xxxx| 国产又粗又长又大的视频| 黑人糟蹋人妻hd中文字幕| 久久亚洲国产成人精品无码区| 亚洲精品在线网址| 国产美女视频免费看| 青青草久久伊人| 日韩精品aaa| 天天久久综合网| 一本—道久久a久久精品蜜桃| 亚洲天堂国产视频| 善良的小姨在线| 日韩欧美视频免费在线观看| 97人人模人人爽人人澡| www.久久com| 97在线免费视频观看| 日韩欧美不卡在线| 久久久久久久久网| 日韩精品在线中文字幕| 97国产在线播放| caopor在线视频| 538任你躁在线精品免费| 在线免费黄色网| 成人污网站在线观看| koreanbj精品视频一区| 久久精品99国产| 久久人人爽人人片| av无码久久久久久不卡网站| 妺妺窝人体色www在线小说| 成人黄色片视频| www.午夜av| 国产综合中文字幕| 一起操在线视频| 亚洲精品久久久久久久蜜桃臀| 日韩少妇内射免费播放18禁裸乳| wwwwxxxx日韩| 9色视频在线观看| 三年中国国语在线播放免费| 成年人免费观看的视频| 久久久久久久久久久久久国产精品 | 香蕉视频999| 国产a级黄色大片| 亚洲少妇第一页| 青青在线免费观看| av噜噜在线观看| 国产肥臀一区二区福利视频| 超碰91在线播放| 无码人妻丰满熟妇区毛片| eeuss中文| 天堂一区在线观看| 自拍日韩亚洲一区在线| 99精品视频网站| www.亚洲高清| 北条麻妃在线一区| 免费高清一区二区三区| 欧美性猛交xxxx乱大交91| 亚洲午夜无码av毛片久久| 欧美精品一区二区性色a+v| 日韩大片一区二区| 东京热加勒比无码少妇| 欧美人成在线观看| 日日噜噜噜夜夜爽爽| 怡红院亚洲色图| 在线视频日韩一区| 国产熟女高潮视频| 久久婷婷五月综合色国产香蕉| 无码人妻精品一区二区蜜桃百度| 五月天中文字幕在线| 91视频免费版污| 国产v亚洲v天堂无码久久久| 国产特级黄色大片| 18岁网站在线观看| 欧美色图另类小说| 国产成人精品视频免费看| 无码人妻少妇伦在线电影| 9191国产视频| 被灌满精子的波多野结衣| 亚洲精品少妇一区二区| 国产 欧美 日本| 男人添女人下部视频免费| 免费的一级黄色片| 欧美成人三级在线视频| 漂亮人妻被中出中文字幕| 欧美成人三级在线视频| av天堂永久资源网| 午夜国产一区二区三区| 99视频在线免费| 中文字幕66页| 妺妺窝人体色www看人体| 欧美亚洲精品一区二区| 日本熟妇人妻中出| 国产精品嫩草影视| 久久人妻无码一区二区| 成年人视频网站免费观看| 爱情岛论坛成人| 9999在线观看| 欧美日韩亚洲一| 小明看看成人免费视频| 免费网站在线观看视频| 国产情侣av自拍| 在线观看中文av| 国产精品自拍片| 久久精品一二三四| 久久久久久久久久久视频| av在线网址导航| 免费 成 人 黄 色| 亚洲一区二区三区观看| 国产色一区二区三区| 中文字幕永久视频| 男人天堂a在线| 涩涩网站在线看| 久久婷婷国产精品| www.51色.com| 热久久精品免费视频| 日韩亚洲欧美一区二区| 伊人影院综合在线| 黄色免费视频大全| 成年丰满熟妇午夜免费视频| 日本久久久久久久久久久久| 免费人成自慰网站| 黄瓜视频免费观看在线观看www| 欧美性久久久久| 精品视频在线观看一区| 五月天婷婷在线观看视频| wwwwww.色| 欧美牲交a欧美牲交| av日韩在线看| 色撸撸在线观看| 欧美成人乱码一二三四区免费| aa在线观看视频| 亚洲精品久久久久久久蜜桃臀| 奇米777在线| 日本精品一区在线| 色噜噜狠狠永久免费| 成人性视频欧美一区二区三区| 丁香六月激情婷婷| 亚洲色成人www永久在线观看| 蜜桃视频一区二区在线观看| 色婷婷综合在线观看| 手机在线免费毛片|