SOAP北京航空航天大學(xué)

上傳人:san****019 文檔編號(hào):21435534 上傳時(shí)間:2021-04-30 格式:PPT 頁數(shù):31 大小:367.50KB
收藏 版權(quán)申訴 舉報(bào) 下載
SOAP北京航空航天大學(xué)_第1頁
第1頁 / 共31頁
SOAP北京航空航天大學(xué)_第2頁
第2頁 / 共31頁
SOAP北京航空航天大學(xué)_第3頁
第3頁 / 共31頁

下載文檔到電腦,查找使用更方便

9.9 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《SOAP北京航空航天大學(xué)》由會(huì)員分享,可在線閱讀,更多相關(guān)《SOAP北京航空航天大學(xué)(31頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、SOAP馬 殿 富北 航 計(jì) 算 機(jī) 學(xué) 院2006-05 計(jì) 算 機(jī) 學(xué) 院 2 主 要 內(nèi) 容 SOAP發(fā) 展 歷 史 SOAP的 主 要 功 能 SOAP協(xié) 議 組 成 部 分 信 封 標(biāo) 題 RPC 相 關(guān) 應(yīng) 用 計(jì) 算 機(jī) 學(xué) 院 3 發(fā) 展 歷 史 SOAP最 早 由 Dave Winner、 Don Box和 Bod Atkinson提 出 。 在 1987年 , Microsoft開 始 考 慮 基 于 XML的 分 布 式 計(jì) 算 , 其目 標(biāo) 是 使 應(yīng) 用 程 序 能 夠 使 用 HTTP上 層 的 遠(yuǎn) 程 過 程 調(diào) 用 (RPC)相 互 通 信 。 DevelopM

2、entor和 Userland加 入 到 了 討 論 。 在 1998年 初 , S0AP名 字 就 已 經(jīng) 被 確 定 。 Userland在 1998年發(fā) 布 了 一 個(gè) XML-RPC規(guī) 范 。 1999年 9月 SOAP0.9提 交 IETF。 2000年 5月 8日 , SOAP1.1作 為 Note提 交 W3C。 IBM發(fā) 布 Java SOAP實(shí) 現(xiàn) , 并 給 開 放 源 代 碼 組 織 Apache XML Project。 Sun公 司 將 Web服 務(wù) 集 成 到 J2EE中 。 2000年 9月 13日 , W3C組 建 了 XML協(xié) 議 工 作 組 , 專 門 負(fù)

3、責(zé) 設(shè) 計(jì)XML協(xié) 議 , 以 便 成 為 基 于 XML分 布 式 計(jì) 算 的 核 心 。 這 個(gè) 工 作組 將 SOAP1.1作 為 基 礎(chǔ) , 并 于 2001年 7月 9日 提 交 了 第 一 份 工作 組 草 案 SOAP1.2。 計(jì) 算 機(jī) 學(xué) 院 4 SOAP 為在一個(gè)松散的、分布的環(huán)境中使用XML對(duì)等地交換結(jié)構(gòu)化和類型化信息提供了一個(gè)簡(jiǎn)單且輕量級(jí)的機(jī)制。 SOAP1.1簡(jiǎn)單對(duì)象訪問協(xié)議(Simple Object Access Propotol)是Web服務(wù)的事實(shí)標(biāo)準(zhǔn)。支持應(yīng)用程序與應(yīng)用程序之間的通信;應(yīng)用于商務(wù)對(duì)商務(wù)的通信以及企業(yè)應(yīng)用集成。以獨(dú)立于各種編程語言或平臺(tái)的方式來構(gòu)

4、造消息、處理消息,從而使用不同編程語言編寫的程序之間具有互操作性,并能夠在不同的操作系統(tǒng)上運(yùn)行。通過對(duì)模塊中特定格式編碼的數(shù)據(jù)的重編碼機(jī)制來表示應(yīng)用語義。 計(jì) 算 機(jī) 學(xué) 院 5 SOAP概 述 計(jì) 算 機(jī) 學(xué) 院 6 SOAP主 要 功 能 : 定 義 通 信 單 元 的 機(jī) 制 : 一 個(gè) SOAP封 套 封 裝 了 所 有 其 他 的 信 息 。 一 個(gè) 消 息 可 以 有 一 個(gè) 消 息 體 , 消 息 體 中 可 以 包 含 任 何 XML格 式 文 檔 。 錯(cuò) 誤 處 理 機(jī) 制 : 標(biāo) 識(shí) 錯(cuò) 誤 源 和 導(dǎo) 致 錯(cuò) 誤 的 原 因 , 并 允 許 錯(cuò) 誤 診 斷 信 息 在 共

5、 享 者 和 交 互 者之 間 傳 遞 。 可 擴(kuò) 展 件 機(jī) 制 : 使 用 XML模 式 和 名 字 空 間 技 術(shù) , 靈 活 擴(kuò) 展 元 素 。 靈 活 的 數(shù) 據(jù) 表 示 機(jī) 制 : 允 許 交 換 已 經(jīng) 以 某 種 格 式 序 列 化 的 數(shù) 據(jù) , 同 時(shí) 也 提 供 了 以 XML格 式 表 示 諸如 編 程 語 言 數(shù) 據(jù) 類 型 這 樣 的 抽 象 數(shù) 據(jù) 結(jié) 構(gòu) 的 規(guī) 則 。 表 示 遠(yuǎn) 程 過 程 調(diào) 用 (RPC)和 作 為 響 應(yīng) 的 SOAP消 息 的 約 定 , 并 且 便于 映 射 為 過 程 式 編 程 語 言 結(jié) 構(gòu) 。 支 持 以 文 檔 為 中 心

6、 的 方 法 。 將 SOAP消 息 束 定 到 HTTP的 機(jī) 制 , 因 為 HTTP是 Internd上 最 常 用 的通 信 協(xié) 議 。 計(jì) 算 機(jī) 學(xué) 院 7 SOAP基于XML的協(xié)議,由四部分組成: 信封(Envelope):定義了一個(gè)消息框架,描述消息的內(nèi)容是什么,是誰發(fā)送的,誰應(yīng)當(dāng)接受并處理它以及如何處理。 編碼規(guī)則(Encoding Rules):用于表示應(yīng)用程序需要使用的數(shù)據(jù)類型的實(shí)例。 綁定(Binding):定義底層通信協(xié)議,進(jìn)行消息交換。 RPC:表示遠(yuǎn)程過程調(diào)用和應(yīng)答的協(xié)定。 計(jì) 算 機(jī) 學(xué) 院 8 SOAP SOAP信封包裝傳輸?shù)南ⅰOAP定義4個(gè)XML元素:

7、 信封(env:Envelope)標(biāo)題(env:Header)體(env:Body)一組和多組SOAP條目的信息。故障(env:Fault)協(xié)議層錯(cuò)誤信息的特殊SOAP條目 計(jì) 算 機(jī) 學(xué) 院 9 命 名 空 間 http:/schemas.xmlsoap.org/soap/envelope http:/www.w3.org/2001/XML.Schema-instance http:/www.w3.org/2001/XML.Schema http:/schemas.xmlsoap.org/soap/encoding http:/schemas.xmlsoap.org/wsdl/ http:/

8、schemas.xmlsoap.org/wsdl/soap http:/ws-i.org/schema/conformanceClain 計(jì) 算 機(jī) 學(xué) 院 10 SOAP用 例 1 2001-06-22T14:00:00-05:00 Pick up Mary at school at 2pm MessageEnvelope 計(jì) 算 機(jī) 學(xué) 院 11 SOAP結(jié) 構(gòu) SOAP消 息 是 由 一 個(gè) SOAP Envelope、 一 個(gè) 可 選 的 SOAP Header和 一 個(gè) SOAP Body組 成 的 XML文 檔 。 元 素 和 屬 性 的 命 名 空 間 標(biāo) 識(shí) 是http:/ww

9、w.w3.org/2001/06/soap-envelope。 SOAP消 息 應(yīng)當(dāng) 包 含 如 下 部 分 : 一 個(gè) SOAP envelope。 Envelope是 表 示 該 消 息 的 XML文 檔 的 根 級(jí) 元 素 。 一 個(gè) SOAP Header。 Header是 為 了 支 持 在 松 散 環(huán) 境 下 在 通 訊 方 之 間 尚 未 預(yù) 先 達(dá) 成 一 致的 情 況 下 為 SOAP消 息 增 加 特 性 的 通 用 機(jī) 制 。 SOAP定 義 了 很 少 的 一 些 屬 性 來 用 于 指 明 誰 可 以 處 理 該 特 性 以 及 它是 可 選 的 還 是 強(qiáng) 制 的

10、。 一 個(gè) SOAP Body。 Body為 該 消 息 的 最 終 接 收 者 所 想 要 得 到 的 信 息 提 供 了 一 個(gè) 容 器 。此 外 , SOAP定 義 了 Body的 一 個(gè) 子 元 素 Fault用 于 報(bào) 告 錯(cuò) 誤 。 計(jì) 算 機(jī) 學(xué) 院 12 SOAP 主 要 屬 性 encodingStyle屬 性 SOAP的 全 局 encodingStyle屬 性 被 用 于 指 明 在 SOAP消 息 中 使 用哪 種 編 碼 規(guī) 則 。 該 屬 性 可 以 在 任 意 元 素 中 出 現(xiàn) , 其 作 用 范 圍 包 括 該 元 素 的 內(nèi)容 和 所 有 其 子 元 素 中

11、 未 使 用 該 屬 性 的 所 有 子 元 素 。 root屬 性 可 以 被 用 來 標(biāo) 注 編 序 的 根 , 根 一 般 就 有 值 “ 1” 。 那 些 非 真 正根 的 編 序 根 也 可 以 被 標(biāo) 注 為 賦 予 值 為 “ 1” 的 編 序 根 。 一 個(gè) 元素 也 可 以 被 明 確 地 標(biāo) 注 為 賦 予 值 為 “ 0” 的 非 編 序 根 。 SOAP根 屬 性 可 以 出 現(xiàn) 在 SOAP Header和 SOAP Body元 素 中 的 任何 子 元 素 里 , 該 屬 性 沒 有 默 認(rèn) 值 。 計(jì) 算 機(jī) 學(xué) 院 13 SOAP Header SOAP提 供

12、了 一 個(gè) 可 伸 縮 的 機(jī) 制 用 于 在 分 散 的 模 塊 化 的 環(huán) 境下 擴(kuò) 展 SOAP消 息 , 而 通 訊 雙 方 并 不 需 要 有 預(yù) 先 的 約 定 知 識(shí) 。典 型 的 擴(kuò) 展 例 子 可 以 是 實(shí) 現(xiàn) 一 些 諸 如 認(rèn) 證 、 事 務(wù) 管 理 以 及支 付 的 Header條 目 。 Header元 素 應(yīng) 當(dāng) 被 編 碼 為 SOAP Envelope XML文 檔 的 第 一 直接 子 元 素 。 Header的 所 有 直 接 子 元 素 都 被 稱 為 Header條 目 。 Header條 目 的 編 碼 規(guī) 則 包 括 : 一 個(gè) SOAP Head

13、er條 目 由 一 個(gè) 完 整 修 飾 的 元 素 名 來 標(biāo) 識(shí) , 所 謂完 整 修 飾 的 元 素 名 是 由 一 個(gè) 命 名 空 間 URI和 局 部 名 來 組 成 。 SOAP Header元 素 的 所 有 直 接 子 元 素 都 必 須 是 完 整 修 飾 的 。 encodingStyle屬 性 可 以 用 于 指 明 Header條 目 的 編 碼 風(fēng) 格 。 actor屬 性 和 SOAP mustUnderstand屬 性 可 以 用 于 指 明 由 哪個(gè) SOAP結(jié) 點(diǎn) 來 處 理 條 目 以 及 如 何 處 理 條 目 。 計(jì) 算 機(jī) 學(xué) 院 14 SOAP Hea

14、der 描 述 安 全 憑 證 事 務(wù) ID 路 由 調(diào) 試 信 息 支 付 令 牌 計(jì) 算 機(jī) 學(xué) 院 15 actor屬 性 SOAP消 息 從 生 成 者 到 達(dá) 最 終 接 受 者 , 將 潛 在 地 沿 著 消 息 路 徑 經(jīng) 過 一系 列 的 SOAP中 間 結(jié) 點(diǎn) 。 SOAP中 間 結(jié) 點(diǎn) 是 一 個(gè) 能 夠 接 受 和 轉(zhuǎn) 發(fā) SOAP消息 的 應(yīng) 用 程 序 。 所 有 的 中 間 結(jié) 點(diǎn) 都 如 同 最 終 接 受 者 一 樣 由 一 個(gè) URI來標(biāo) 識(shí) 。 actor屬 性 用 一 個(gè) RUI標(biāo) 識(shí) 節(jié) 點(diǎn) 處 理 對(duì) 應(yīng) 的 文 件 頭 時(shí) 必 須 扮 演 的 角 色

15、 。當(dāng) 一 個(gè) 節(jié) 點(diǎn) 接 收 到 一 個(gè) SOAP消 息 時(shí) , 它 要 分 析 文 件 頭 , 以 確 定 哪 些代 碼 塊 是 由 該 節(jié) 點(diǎn) 支 持 的 角 色 。 Header元 素 中 接 收 者 角 色 類 似 和 約 的 接 受 者 。 一 個(gè) 接 收 者 接 到 其 想要 的 一 個(gè) Header元 素 必 須 不 轉(zhuǎn) 發(fā) 該 Header給 SOAP消 息 路 徑 中 的 下 一個(gè) 應(yīng) 用 程 序 。 SOAP actor全 局 屬 性 可 以 被 用 于 指 明 Header元 素 的 接 收 者 。 而 SOAP actor屬 性 的 值 是 一 個(gè) URI。 這 個(gè)

16、特 別 的URIhttp:/www.w3.org/2001/06/soap-envelope/actor/next指 明該 Header元 素 是 直 接 的 下 一 個(gè) 進(jìn) 行 消 息 處 理 的 SOAP應(yīng) 用 程 序 想 要 的 。 這 與 HTTP的 連 接 頭 字 段 的 hop-by-hop scope model的 表 示 。 若 省 略 SOAP actor屬 性 , 則 表 明 接 收 者 是 SOAP消 息 的 最 終 接 收 者 。 計(jì) 算 機(jī) 學(xué) 院 16 mustUnderstand屬 性 mustUnderstand全 局 屬 性 用 于 指 明 一 個(gè) Heade

17、r條 目 是 強(qiáng) 制的 還 是 可 選 的 要 求 接 收 者 處 理 。 Header條 目 的 接 收 結(jié) 點(diǎn) 由 SOAP actor屬 性 來 定 義 。mustUnderstand屬 性 的 值 可 為 “ 0” 或 “ 1” 。 若 沒 有 使 用SOAP mustUnderstand屬 性 , 則 在 語 義 上 等 價(jià) 于mustUderstand屬 性 出 現(xiàn) 同 時(shí) 取 值 為 “ 0” 。 若 Header條 目 帶 有 值 為 “ 1” 的 mustUnderstand屬 性 , 則 該Header條 目 的 接 收 結(jié) 點(diǎn) 要 么 必 須 遵 循 語 義 并 正 確

18、地 處 理 這些 語 義 , 要 么 必 須 宣 稱 處 理 消 息 失 敗 。 mustUnderstand屬 性 是 為 了 考 慮 健 壯 地 升 級(jí) 而 設(shè) 置 的 。 所有 用 值 為 “ 1” 的 SOAP mustUnderstand屬 性 來 標(biāo) 記 的 元 素必 須 被 認(rèn) 為 是 可 以 影 響 該 元 素 的 上 級(jí) 元 素 或 同 級(jí) 元 素 的 語義 。 計(jì) 算 機(jī) 學(xué) 院 17 SOAP Body SOAP Body元 素 提 供 一 個(gè) 簡(jiǎn) 單 的 用 于 與 消 息 的 最 終接 收 者 交 換 強(qiáng) 制 信 息 的 機(jī) 制 。 而 Body元 素 的 典 型應(yīng)

19、用 包 含 序 列 的 RPC調(diào) 用 和 錯(cuò) 誤 報(bào) 告 。 Body元 素 在 編 碼 上 作 為 SOAP Envelope元 素 的 一 個(gè)直 接 子 元 素 。 如 果 包 含 Header元 素 , 則 Body元 素必 須 直 接 跟 隨 Header元 素 , 否 則 Body元 素 必 須 是Envelope元 素 的 第 一 直 接 子 元 素 。 所 有 Body元 素 的 直 接 子 元 素 被 成 為 SOAP Body條 目 ,同 時(shí) 每 一 個(gè) Body條 目 都 應(yīng) 當(dāng) 編 碼 為 SOAP Body元 素里 的 一 個(gè) 獨(dú) 立 元 素 。 計(jì) 算 機(jī) 學(xué) 院 1

20、8 SOAP Body Body條 目 的 編 碼 規(guī) 則 包 括 : 1 一 個(gè) Body條 目 由 一 個(gè) 完 整 修 飾 的 元 素 名 來 標(biāo) 識(shí) ,所 謂 完 整 修 飾 的 元 素 名 是 由 一 個(gè) 命 名 空 間 URI和 局部 名 來 組 成 。 SOAP Body元 素 的 直 接 子 元 素 可 以 是命 名 空 間 修 飾 的 。 2 SOAP encodingStyle屬 性 可 以 被 用 來 表 明 Body條 目 中 使 用 的 編 碼 規(guī) 則 。 3 SOAP定 義 了 一 個(gè) Body條 目 , 用 于 報(bào) 告 錯(cuò) 誤 的Fault條 目 。 計(jì) 算 機(jī) 學(xué)

21、 院 19 SOAP錯(cuò) 誤 SOAP Fault元 素 是 用 于 在 SOAP消 息 中 傳 輸 錯(cuò) 誤 或 狀 態(tài) 信 息 。 如 果 SOAP消 息 需 要 包 含 SOAP Fault元 素 的 話 , 它 必 須 作 為 一 個(gè) Body條 目 出 現(xiàn) ,同 時(shí) 在 Body元 素 內(nèi) 它 必 須 至 多 出 現(xiàn) 一 次 。 SOAP Fault元 素 定 義 了 如 下 子 元 素 : 1 faultcode元 素 是 應(yīng) 那 些 要 提 供 一 個(gè) 算 法 上 的 機(jī) 制 來 標(biāo) 識(shí) 錯(cuò) 誤 的 軟件 的 需 要 。 faultcode必 須 在 SOAP Fault元 素 中

22、出 現(xiàn) 。 SOAP定 義 了 一個(gè) 很 小 的 SOAP錯(cuò) 誤 代 碼 的 集 合 用 于 覆 蓋 基 本 的 SOAP錯(cuò) 誤 。 2 faultstring元 素 是 為 那 些 錯(cuò) 誤 代 碼 提 供 一 個(gè) 人 可 以 讀 懂 的 錯(cuò) 誤 解釋 , 它 不 是 為 程 序 處 理 而 設(shè) , 提 供 一 些 解 釋 該 錯(cuò) 誤 種 類 的 信 息 。 3 faultactor元 素 是 為 在 SOAP消 息 路 徑 中 是 誰 引 起 了 該 錯(cuò) 誤 的 發(fā) 生這 一 情 況 描 述 信 息 。 faultactor屬 性 的 值 是 一 個(gè) 標(biāo) 識(shí) 該 源 的 一 個(gè) URI。所

23、謂 并 非 作 為 SOAP消 息 最 終 接 收 者 的 應(yīng) 用 程 序 必 須 在 SOAP Fault元 素中 包 含 faultactor元 素 。 而 消 息 的 最 終 接 收 者 可 以 使 用 faultactor元素 來 明 確 地 指 明 是 它 生 成 了 該 錯(cuò) 誤 。 4 detail元 素 是 用 于 傳 輸 與 SOAP Body元 素 相 關(guān) 的 應(yīng) 用 程 序 特 別 的 錯(cuò)誤 信 息 。 如 果 Body元 素 中 的 內(nèi) 容 不 能 被 成 功 地 處 理 的 時(shí) 候 , 它 必 須 出現(xiàn) 。 它 必 須 不 能 被 用 于 傳 輸 屬 于 Header條

24、 目 的 錯(cuò) 誤 信 息 。 計(jì) 算 機(jī) 學(xué) 院 20 SOAP錯(cuò) 誤 若 SOAP Fault元 素 中 不 出 現(xiàn) detail元 素 , 則 表 明 其 中 的 錯(cuò)誤 與 Body元 素 的 處 理 無 關(guān) 。 這 可 以 用 于 區(qū) 分 在 錯(cuò) 誤 情 況 下Body元 素 是 否 被 SOAP的 最 終 接 受 者 處 理 過 。 detail元 素 的 所 有 直 接 子 元 素 都 被 稱 為 detail條 目 , 同 時(shí)每 個(gè) detail條 目 都 作 為 detail元 素 中 的 一 個(gè) 獨(dú) 立 的 元 素 進(jìn)行 編 碼 。 detail條 目 的 編 碼 規(guī) 則 如

25、下 : 1 一 個(gè) detail條 目 由 一 個(gè) 完 整 修 飾 的 元 素 名 來 標(biāo) 識(shí) 。detail元 素 的 直 接 子 元 素 可 以 是 命 名 空 間 修 飾 的 。 2 SOAP encodingStyle屬 性 可 以 被 用 來 表 明 detail條 目 中使 用 的 編 碼 規(guī) 則 。 計(jì) 算 機(jī) 學(xué) 院 21 SOAP編 碼 簡(jiǎn) 單 類 型 SOAP采 用 了 在 “ XML Schema Part 2: Datatypes” 的“ Build-in datatypes” 節(jié) 中 定 義 的 所 有 類 型 , 包 括 值 和詞 匯 空 間 (lexical sp

26、aces) 1 字 符 串 : “ string” 數(shù) 據(jù) 類 型 在 “ XML Schema Part 2: Datatypes” 中 被 定 義 。 2 枚 舉 : “ XML Schema Part 2: Datatypes” 規(guī) 范 定 義 了一 種 稱 為 “ 玫 舉 (enumeration)” 的 機(jī) 制 。 3 字 節(jié) 數(shù) 組 : 一 個(gè) Byte數(shù) 組 可 以 編 碼 為 單 引 用 或 多 引 用 值 。對(duì) 一 個(gè) 不 透 明 的 Byte數(shù) 組 的 推 薦 表 示 是 使 用 在 XML Schema規(guī) 范 中 定 義 的 “ base64” 編 碼 方 式 。 4 多

27、 態(tài) 存 取 標(biāo) 識(shí) : 多 態(tài) 地 訪 問 數(shù) 個(gè) 類 型 的 值 , 在 運(yùn) 行 時(shí) 刻每 個(gè) 類 型 都 是 可 使 用 的 。 一 個(gè) 多 態(tài) 存 取 標(biāo) 識(shí) 實(shí) 例 必 須 包 含一 個(gè) “ xsi:type” 屬 性 以 描 述 類 型 的 實(shí) 際 值 。 計(jì) 算 機(jī) 學(xué) 院 22 SOAP編 碼 復(fù) 合 類 型 SOAP依 照 在 程 序 語 言 中 常 常 看 見 的 以 下 結(jié) 構(gòu) 模 式來 定 義 復(fù) 合 類 型 : 1 “ struct” 是 一 個(gè) 復(fù) 合 類 型 值 , 其 成 員 的 存取 標(biāo) 識(shí) 名 是 相 互 區(qū) 別 的 唯 一 標(biāo) 志 , 應(yīng) 彼 此 各 不

28、相同 。 2 “ array” 是 一 個(gè) 復(fù) 合 類 型 值 , 其 成 員 的 順 序位 置 是 相 互 區(qū) 別 的 唯 一 標(biāo) 志 。 計(jì) 算 機(jī) 學(xué) 院 23 SOAP中 的 RPC SOAP的 一 個(gè) 設(shè) 計(jì) 目 標(biāo) 就 是 要 利 用 XML的 可 擴(kuò) 展 性 和 可 伸 縮 性來 包 裝 和 交 換 RPC調(diào) 用 。 在 RPC中 , 使 用 HTTP作 為 SOAP協(xié) 議 綁 定 媒 介 的 情 況 下 , 一 個(gè)RPC調(diào) 用 可 以 很 自 然 地 映 射 到 一 個(gè) HTTP請(qǐng) 求 , 而 RPC響 應(yīng) 則可 以 映 射 到 HTTP響 應(yīng) 。 使 用 SOAP方 式 的

29、RPC并 不 限 于 HTTP協(xié)議 綁 定 。 為 實(shí) 施 一 個(gè) 方 法 調(diào) 用 , 需 要 以 下 信 息 : 1 目 標(biāo) SOAP結(jié) 點(diǎn) 的 URI 2 方 法 名 3 可 選 的 方 法 或 過 程 的 特 征 4 方 法 或 過 程 的 參 數(shù) 5 可 選 的 頭 數(shù) 據(jù) SOAP依 賴 協(xié) 議 綁 定 來 提 供 傳 送 URI的 機(jī) 制 。 計(jì) 算 機(jī) 學(xué) 院 24 RPC和 SOAP Body RPC調(diào) 用 和 響 應(yīng) 都 是 在 SOAP Body元 素 中 傳 送 , 使 用 如下 表 示 方 式 : 1 一 個(gè) 方 法 調(diào) 用 被 建 模 成 一 個(gè) 結(jié) 構(gòu) struct

30、。 該 方 法調(diào) 用 顯 示 為 一 個(gè) 簡(jiǎn) 單 結(jié) 構(gòu) struct, 包 含 每 個(gè) in或in/out參 數(shù) 的 存 取 標(biāo) 識(shí) 。 該 結(jié) 構(gòu) 的 名 和 類 型 可 使 用過 程 或 方 法 的 名 來 標(biāo) 識(shí) 。 2 每 個(gè) in或 in/out參 數(shù) 都 被 表 示 為 一 個(gè) 存 取 標(biāo)識(shí) , 該 存 取 標(biāo) 識(shí) 的 名 和 類 型 都 對(duì) 應(yīng) 于 相 應(yīng) 參 數(shù) 的 名 和類 型 。 他 們 的 次 序 也 是 按 照 原 來 RPC中 的 次 序 。 3 一 個(gè) 方 法 響 應(yīng) 被 建 模 成 一 個(gè) 結(jié) 構(gòu) struct。 計(jì) 算 機(jī) 學(xué) 院 25 SOAP 請(qǐng) 求 消

31、息 Computer 計(jì) 算 機(jī) 學(xué) 院 26 RPC和 SOAP Body 該 方 法 響 應(yīng) 顯 示 為 一 個(gè) 簡(jiǎn) 單 結(jié) 構(gòu) struct, 包 含 每 個(gè) out或in/out參 數(shù) 的 存 取 標(biāo) 識(shí) 。 而 第 一 個(gè) 存 取 標(biāo) 識(shí) 是 返 回 值 , 而 隨 后則 是 按 照 原 來 次 序 的 返 回 參 數(shù) 。 每 個(gè) out或 in/out參 數(shù) 都 被 表 示 為 一 個(gè) 存 取 標(biāo) 識(shí) , 該 存 取 標(biāo)識(shí) 的 名 和 類 型 都 對(duì) 應(yīng) 于 相 應(yīng) 參 數(shù) 的 名 和 類 型 。 返 回 值 的 存 取 標(biāo) 識(shí)名 并 沒 有 多 少 語 義 。 同 樣 的 , 結(jié)

32、 構(gòu) 的 名 也 并 沒 有 多 少 語 義 。 當(dāng) 然 ,無 論 如 何 , 在 添 加 了 “ Response” 字 串 的 方 法 名 后 , 要 有 一 個(gè) 約定 來 命 名 它 。 方 法 調(diào) 用 出 錯(cuò) 應(yīng) 使 用 SOAP Fault元 素 來 編 碼 。 如 果 一 個(gè) 綁 定 協(xié) 議對(duì) 于 錯(cuò) 誤 表 達(dá) 還 有 額 外 規(guī) 則 , 那 么 這 些 規(guī) 則 都 應(yīng) 當(dāng) 被 遵 守 。 方 法 和 響 應(yīng) 的 結(jié) 構(gòu) 可 以 使 用 規(guī) 則 來 編 碼 , 也 可 以 使 用 在encodingStyle屬 性 中 描 述 的 其 他 編 碼 。 應(yīng) 用 程 序 可 以 處

33、理 漏 寫 參 數(shù) 的 請(qǐng) 求 不 過 也 可 以 返 回 一 個(gè) 錯(cuò) 誤 。 因 為 在 響 應(yīng) 中 若 包 含 “ result” 則 表 明 成 功 , 若 包 含 “ fault” 則 表 明 失 敗 , 所 以 如 果 方 法 響 應(yīng) 中 同 時(shí) 包 含 了 “ result” 和“ fault” 則 是 錯(cuò) 誤 的 。 計(jì) 算 機(jī) 學(xué) 院 27 SOAP 響 應(yīng) 消 息 8000.00 計(jì) 算 機(jī) 學(xué) 院 28 HTTP傳 輸 SOAP 雖 然 SOAP可 以 和 多 種 HTTP請(qǐng) 求 方 法 聯(lián) 合 使 用 , 但 這 里 的 綁定 只 定 義 了 SOAP是 如 何 在 HT

34、TP Post請(qǐng) 求 中 傳 輸 的 。 1 HTTP Header中 的 SOAPAction字 段 : SOAPAction HTTP請(qǐng) 求 頭 字 段 (header field)可 以 用 于 指 示 SOAP HTTP請(qǐng) 求的 目 的 。 它 的 值 是 一 個(gè) 標(biāo) 識(shí) 該 目 的 的 URI。 2 SOAP HTTP響 應(yīng) : 在 HTTP之 上 的 SOAP遵 從 用 于 在 HTTP中表 示 通 訊 狀 態(tài) 的 HTTP狀 態(tài) 代 碼 的 語 義 。 例 如 , 2xx狀 態(tài) 代碼 表 明 這 是 客 戶 端 包 含 SOAP構(gòu) 件 的 請(qǐng) 求 被 成 功 的 接 收 、 理解

35、 和 接 受 等 等 。 3 當(dāng) 處 理 請(qǐng) 求 的 時(shí) 候 發(fā) 生 SOAP錯(cuò) 誤 的 時(shí) 候 , SOAP HTTP服務(wù) 器 必 須 發(fā) 出 一 個(gè) HTTP 500 “ Internal Server Error”響 應(yīng) 同 時(shí) 在 包 含 于 該 響 應(yīng) 的 SOAP消 息 中 應(yīng) 包 含 一 個(gè) SOAP Fault元 素 。 4 HTTP擴(kuò) 展 框 架 : SOAP消 息 可 以 與 HTTP Extension Framework一 起 使 用 來 標(biāo) 識(shí) SOAP HTTP請(qǐng) 求 。 計(jì) 算 機(jī) 學(xué) 院 29 在 HTTP中 使 用 SOAP SOAP利用HTTP的請(qǐng)求/響應(yīng)消

36、息模型,將SOAP請(qǐng)求的參數(shù)放在HTTP請(qǐng)求里,而將SOAP響應(yīng)的參數(shù)放在HTTP響應(yīng)里。 SOAPAction HTTP請(qǐng) 求 頭 字 段 (header field)可 以 用 于 指 示 SOAP HTTP請(qǐng) 求 的 目 的 。 它 的 值 是一 個(gè) 標(biāo) 識(shí) 該 目 的 的 URI。 POST /StockQuote HTTP/1.1 Content-Type: text/xml; charset=utf-8 Content-Length: nnnn SOAPAction: http:/electrocommerce.org/abc#MyMessage . . . 在 HTTP之 上 的

37、 SOAP遵 從 用 于 在 HTTP中 表 示 通 訊 狀 態(tài) 的 HTTP狀 態(tài) 代 碼 的 語 義 。 HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: nnnn . . . 計(jì) 算 機(jī) 學(xué) 院 30 SOAP工 具 列 表Company/Organization Reporting Implementation Name Implementation Version Spec Version/Comment Apache Glen Daniels Axis Beta 1 and after Lim

38、ited support for June SOAP 1.2 spec in Beta 1, and for the December SOAP 1.2 spec in the current CVS implementation. Dont yet fully support new encoding or all faults, but we plan to be fully compliant soon, tracking the spec into future releases. BEA David Orchard WebLogic Server 8.0 and later BEA

39、provides a soap 1.2 endpoint at http:/:9001/index.html. Endpoint contact is Manoj Cheenath. Microsoft H enrik Frystyk Nielsen BizTalk In order to help meeting the W3C implementation requirements, Microsoft will provide a public endpoint that can accept incoming SOAP 1.2 messages and be able to gener

40、ate SOAP 1.2 messages and send them to other SOAP 1.2 endpoints. Endpoint is at http:/mssoapinterop.org/asmx/ (Contacts: Alex DeJarnatt and John Koropchak ). SOAPLite Paul Kulchenko SOAP:Lite 0.55 and later Limited support for SOAP 1.2. Plan to support most of the spec before March 2003. Systinet Ja

41、cek Kopecky WASP Server for Java 4.0 WASP 4.5 supports most features of the June 2002 Last Call draft of SOAP 1.2. Endpoint is available, see http:/ for more information. TIBCO Don Mullen Web Services SDK 2.0 TIBCOs SOAP 1.2 endpoint is available at http:/ White Mesa Bob Cunnings White Mesa Server 3

42、.0 Endpoint supports SOAP 1.2, see http:/ for details. 計(jì) 算 機(jī) 學(xué) 院 31 SOAP工 具 列 表Company/Organization Implementation Name Implementation Version Spec Version/Comment IBM Websphere 5.0 or later Apache SOAP has worked under every version of WebSphere from 1.1 to 3.02. It will work out of the box on WebS

43、phere 3.5 with fixpak 2 applied. Wouter Cloetens has provided instructions on using Apache-SOAP with IBM Websphere v1, v2, and v3.0 on http:/ There are also instructions for WebSphere v3.5 in the Apache-SOAP distribution - see http:/xml.apache.org/websrc/cvsweb.cgi/checkout/xml-soap/java/docs/instal

44、l/websphere.html?rev=1.1&cont ent-type=text/html&only_with_tag=MAIN. Be sure to check the following items: 1. Explicitly set the port number that you have exposed the rpcrouter servlet on. Even if it is default(80), just mention it in the URL as http:/aaa.bbb.ccc.ddd:port/soap/servlet/rpcrouter. 2.

45、Verify that xerces is at the start of your path not only by setting it in the App but also in the websphere configuration files (admin.config, setupclient.bat).Oracle Oracle 8i According to the Oracle folks, SOAP should work under the latest production release of Oracle 8i, which is Oracle 8.1.7. Earlier releases of Oracle 8i (e.g 8.1.6) seem to be more awkward: the JVM bundled with 8.1.6 has a bug that affects Xerces. See here for more information: http:/

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!