SOAP北京航空航天大學(xué)
《SOAP北京航空航天大學(xué)》由會員分享,可在線閱讀,更多相關(guān)《SOAP北京航空航天大學(xué)(31頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、SOAP馬 殿 富北 航 計 算 機(jī) 學(xué) 院2006-05 計 算 機(jī) 學(xué) 院 2 主 要 內(nèi) 容 SOAP發(fā) 展 歷 史 SOAP的 主 要 功 能 SOAP協(xié) 議 組 成 部 分 信 封 標(biāo) 題 RPC 相 關(guān) 應(yīng) 用 計 算 機(jī) 學(xué) 院 3 發(fā) 展 歷 史 SOAP最 早 由 Dave Winner、 Don Box和 Bod Atkinson提 出 。 在 1987年 , Microsoft開 始 考 慮 基 于 XML的 分 布 式 計 算 , 其目 標(biāo) 是 使 應(yīng) 用 程 序 能 夠 使 用 HTTP上 層 的 遠(yuǎn) 程 過 程 調(diào) 用 (RPC)相 互 通 信 。 DevelopM
2、entor和 Userland加 入 到 了 討 論 。 在 1998年 初 , S0AP名 字 就 已 經(jīng) 被 確 定 。 Userland在 1998年發(fā) 布 了 一 個 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è) 計XML協(xié) 議 , 以 便 成 為 基 于 XML分 布 式 計 算 的 核 心 。 這 個 工 作組 將 SOAP1.1作 為 基 礎(chǔ) , 并 于 2001年 7月 9日 提 交 了 第 一 份 工作 組 草 案 SOAP1.2。 計 算 機(jī) 學(xué) 院 4 SOAP 為在一個松散的、分布的環(huán)境中使用XML對等地交換結(jié)構(gòu)化和類型化信息提供了一個簡單且輕量級的機(jī)制。 SOAP1.1簡單對象訪問協(xié)議(Simple Object Access Propotol)是Web服務(wù)的事實(shí)標(biāo)準(zhǔn)。支持應(yīng)用程序與應(yīng)用程序之間的通信;應(yīng)用于商務(wù)對商務(wù)的通信以及企業(yè)應(yīng)用集成。以獨(dú)立于各種編程語言或平臺的方式來構(gòu)
4、造消息、處理消息,從而使用不同編程語言編寫的程序之間具有互操作性,并能夠在不同的操作系統(tǒng)上運(yùn)行。通過對模塊中特定格式編碼的數(shù)據(jù)的重編碼機(jī)制來表示應(yīng)用語義。 計 算 機(jī) 學(xué) 院 5 SOAP概 述 計 算 機(jī) 學(xué) 院 6 SOAP主 要 功 能 : 定 義 通 信 單 元 的 機(jī) 制 : 一 個 SOAP封 套 封 裝 了 所 有 其 他 的 信 息 。 一 個 消 息 可 以 有 一 個 消 息 體 , 消 息 體 中 可 以 包 含 任 何 XML格 式 文 檔 。 錯 誤 處 理 機(jī) 制 : 標(biāo) 識 錯 誤 源 和 導(dǎo) 致 錯 誤 的 原 因 , 并 允 許 錯 誤 診 斷 信 息 在 共
5、 享 者 和 交 互 者之 間 傳 遞 。 可 擴(kuò) 展 件 機(jī) 制 : 使 用 XML模 式 和 名 字 空 間 技 術(shù) , 靈 活 擴(kuò) 展 元 素 。 靈 活 的 數(shù) 據(jù) 表 示 機(jī) 制 : 允 許 交 換 已 經(jīng) 以 某 種 格 式 序 列 化 的 數(shù) 據(jù) , 同 時 也 提 供 了 以 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ī) 學(xué) 院 7 SOAP基于XML的協(xié)議,由四部分組成: 信封(Envelope):定義了一個消息框架,描述消息的內(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ī) 學(xué) 院 8 SOAP SOAP信封包裝傳輸?shù)南?。SOAP定義4個XML元素:
7、 信封(env:Envelope)標(biāo)題(env:Header)體(env:Body)一組和多組SOAP條目的信息。故障(env:Fault)協(xié)議層錯誤信息的特殊SOAP條目 計 算 機(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ī) 學(xué) 院 10 SOAP用 例 1 2001-06-22T14:00:00-05:00 Pick up Mary at school at 2pm MessageEnvelope 計 算 機(jī) 學(xué) 院 11 SOAP結(jié) 構(gòu) SOAP消 息 是 由 一 個 SOAP Envelope、 一 個 可 選 的 SOAP Header和 一 個 SOAP Body組 成 的 XML文 檔 。 元 素 和 屬 性 的 命 名 空 間 標(biāo) 識 是http:/ww
9、w.w3.org/2001/06/soap-envelope。 SOAP消 息 應(yīng)當(dāng) 包 含 如 下 部 分 : 一 個 SOAP envelope。 Envelope是 表 示 該 消 息 的 XML文 檔 的 根 級 元 素 。 一 個 SOAP Header。 Header是 為 了 支 持 在 松 散 環(huán) 境 下 在 通 訊 方 之 間 尚 未 預(yù) 先 達(dá) 成 一 致的 情 況 下 為 SOAP消 息 增 加 特 性 的 通 用 機(jī) 制 。 SOAP定 義 了 很 少 的 一 些 屬 性 來 用 于 指 明 誰 可 以 處 理 該 特 性 以 及 它是 可 選 的 還 是 強(qiáng) 制 的
10、。 一 個 SOAP Body。 Body為 該 消 息 的 最 終 接 收 者 所 想 要 得 到 的 信 息 提 供 了 一 個 容 器 。此 外 , SOAP定 義 了 Body的 一 個 子 元 素 Fault用 于 報 告 錯 誤 。 計 算 機(jī) 學(xué) 院 12 SOAP 主 要 屬 性 encodingStyle屬 性 SOAP的 全 局 encodingStyle屬 性 被 用 于 指 明 在 SOAP消 息 中 使 用哪 種 編 碼 規(guī) 則 。 該 屬 性 可 以 在 任 意 元 素 中 出 現(xiàn) , 其 作 用 范 圍 包 括 該 元 素 的 內(nèi)容 和 所 有 其 子 元 素 中
11、 未 使 用 該 屬 性 的 所 有 子 元 素 。 root屬 性 可 以 被 用 來 標(biāo) 注 編 序 的 根 , 根 一 般 就 有 值 “ 1” 。 那 些 非 真 正根 的 編 序 根 也 可 以 被 標(biāo) 注 為 賦 予 值 為 “ 1” 的 編 序 根 。 一 個 元素 也 可 以 被 明 確 地 標(biāo) 注 為 賦 予 值 為 “ 0” 的 非 編 序 根 。 SOAP根 屬 性 可 以 出 現(xiàn) 在 SOAP Header和 SOAP Body元 素 中 的 任何 子 元 素 里 , 該 屬 性 沒 有 默 認(rèn) 值 。 計 算 機(jī) 學(xué) 院 13 SOAP Header SOAP提 供
12、了 一 個 可 伸 縮 的 機(jī) 制 用 于 在 分 散 的 模 塊 化 的 環(huán) 境下 擴(kuò) 展 SOAP消 息 , 而 通 訊 雙 方 并 不 需 要 有 預(yù) 先 的 約 定 知 識 。典 型 的 擴(kuò) 展 例 子 可 以 是 實(shí) 現(xiàn) 一 些 諸 如 認(rèn) 證 、 事 務(wù) 管 理 以 及支 付 的 Header條 目 。 Header元 素 應(yīng) 當(dāng) 被 編 碼 為 SOAP Envelope XML文 檔 的 第 一 直接 子 元 素 。 Header的 所 有 直 接 子 元 素 都 被 稱 為 Header條 目 。 Header條 目 的 編 碼 規(guī) 則 包 括 : 一 個 SOAP Head
13、er條 目 由 一 個 完 整 修 飾 的 元 素 名 來 標(biāo) 識 , 所 謂完 整 修 飾 的 元 素 名 是 由 一 個 命 名 空 間 URI和 局 部 名 來 組 成 。 SOAP Header元 素 的 所 有 直 接 子 元 素 都 必 須 是 完 整 修 飾 的 。 encodingStyle屬 性 可 以 用 于 指 明 Header條 目 的 編 碼 風(fēng) 格 。 actor屬 性 和 SOAP mustUnderstand屬 性 可 以 用 于 指 明 由 哪個 SOAP結(jié) 點(diǎn) 來 處 理 條 目 以 及 如 何 處 理 條 目 。 計 算 機(jī) 學(xué) 院 14 SOAP Hea
14、der 描 述 安 全 憑 證 事 務(wù) ID 路 由 調(diào) 試 信 息 支 付 令 牌 計 算 機(jī) 學(xué) 院 15 actor屬 性 SOAP消 息 從 生 成 者 到 達(dá) 最 終 接 受 者 , 將 潛 在 地 沿 著 消 息 路 徑 經(jīng) 過 一系 列 的 SOAP中 間 結(jié) 點(diǎn) 。 SOAP中 間 結(jié) 點(diǎn) 是 一 個 能 夠 接 受 和 轉(zhuǎn) 發(fā) SOAP消息 的 應(yīng) 用 程 序 。 所 有 的 中 間 結(jié) 點(diǎn) 都 如 同 最 終 接 受 者 一 樣 由 一 個 URI來標(biāo) 識 。 actor屬 性 用 一 個 RUI標(biāo) 識 節(jié) 點(diǎn) 處 理 對 應(yīng) 的 文 件 頭 時 必 須 扮 演 的 角 色
15、 。當(dāng) 一 個 節(jié) 點(diǎn) 接 收 到 一 個 SOAP消 息 時 , 它 要 分 析 文 件 頭 , 以 確 定 哪 些代 碼 塊 是 由 該 節(jié) 點(diǎn) 支 持 的 角 色 。 Header元 素 中 接 收 者 角 色 類 似 和 約 的 接 受 者 。 一 個 接 收 者 接 到 其 想要 的 一 個 Header元 素 必 須 不 轉(zhuǎn) 發(fā) 該 Header給 SOAP消 息 路 徑 中 的 下 一個 應(yīng) 用 程 序 。 SOAP actor全 局 屬 性 可 以 被 用 于 指 明 Header元 素 的 接 收 者 。 而 SOAP actor屬 性 的 值 是 一 個 URI。 這 個
16、特 別 的URIhttp:/www.w3.org/2001/06/soap-envelope/actor/next指 明該 Header元 素 是 直 接 的 下 一 個 進(jìn) 行 消 息 處 理 的 SOAP應(yīng) 用 程 序 想 要 的 。 這 與 HTTP的 連 接 頭 字 段 的 hop-by-hop scope model的 表 示 。 若 省 略 SOAP actor屬 性 , 則 表 明 接 收 者 是 SOAP消 息 的 最 終 接 收 者 。 計 算 機(jī) 學(xué) 院 16 mustUnderstand屬 性 mustUnderstand全 局 屬 性 用 于 指 明 一 個 Heade
17、r條 目 是 強(qiáng) 制的 還 是 可 選 的 要 求 接 收 者 處 理 。 Header條 目 的 接 收 結(jié) 點(diǎn) 由 SOAP actor屬 性 來 定 義 。mustUnderstand屬 性 的 值 可 為 “ 0” 或 “ 1” 。 若 沒 有 使 用SOAP mustUnderstand屬 性 , 則 在 語 義 上 等 價 于mustUderstand屬 性 出 現(xiàn) 同 時 取 值 為 “ 0” 。 若 Header條 目 帶 有 值 為 “ 1” 的 mustUnderstand屬 性 , 則 該Header條 目 的 接 收 結(jié) 點(diǎn) 要 么 必 須 遵 循 語 義 并 正 確
18、地 處 理 這些 語 義 , 要 么 必 須 宣 稱 處 理 消 息 失 敗 。 mustUnderstand屬 性 是 為 了 考 慮 健 壯 地 升 級 而 設(shè) 置 的 。 所有 用 值 為 “ 1” 的 SOAP mustUnderstand屬 性 來 標(biāo) 記 的 元 素必 須 被 認(rèn) 為 是 可 以 影 響 該 元 素 的 上 級 元 素 或 同 級 元 素 的 語義 。 計 算 機(jī) 學(xué) 院 17 SOAP Body SOAP Body元 素 提 供 一 個 簡 單 的 用 于 與 消 息 的 最 終接 收 者 交 換 強(qiáng) 制 信 息 的 機(jī) 制 。 而 Body元 素 的 典 型應(yīng)
19、用 包 含 序 列 的 RPC調(diào) 用 和 錯 誤 報 告 。 Body元 素 在 編 碼 上 作 為 SOAP Envelope元 素 的 一 個直 接 子 元 素 。 如 果 包 含 Header元 素 , 則 Body元 素必 須 直 接 跟 隨 Header元 素 , 否 則 Body元 素 必 須 是Envelope元 素 的 第 一 直 接 子 元 素 。 所 有 Body元 素 的 直 接 子 元 素 被 成 為 SOAP Body條 目 ,同 時 每 一 個 Body條 目 都 應(yīng) 當(dāng) 編 碼 為 SOAP Body元 素里 的 一 個 獨(dú) 立 元 素 。 計 算 機(jī) 學(xué) 院 1
20、8 SOAP Body Body條 目 的 編 碼 規(guī) 則 包 括 : 1 一 個 Body條 目 由 一 個 完 整 修 飾 的 元 素 名 來 標(biāo) 識 ,所 謂 完 整 修 飾 的 元 素 名 是 由 一 個 命 名 空 間 URI和 局部 名 來 組 成 。 SOAP Body元 素 的 直 接 子 元 素 可 以 是命 名 空 間 修 飾 的 。 2 SOAP encodingStyle屬 性 可 以 被 用 來 表 明 Body條 目 中 使 用 的 編 碼 規(guī) 則 。 3 SOAP定 義 了 一 個 Body條 目 , 用 于 報 告 錯 誤 的Fault條 目 。 計 算 機(jī) 學(xué)
21、 院 19 SOAP錯 誤 SOAP Fault元 素 是 用 于 在 SOAP消 息 中 傳 輸 錯 誤 或 狀 態(tài) 信 息 。 如 果 SOAP消 息 需 要 包 含 SOAP Fault元 素 的 話 , 它 必 須 作 為 一 個 Body條 目 出 現(xiàn) ,同 時 在 Body元 素 內(nèi) 它 必 須 至 多 出 現(xiàn) 一 次 。 SOAP Fault元 素 定 義 了 如 下 子 元 素 : 1 faultcode元 素 是 應(yīng) 那 些 要 提 供 一 個 算 法 上 的 機(jī) 制 來 標(biāo) 識 錯 誤 的 軟件 的 需 要 。 faultcode必 須 在 SOAP Fault元 素 中
22、出 現(xiàn) 。 SOAP定 義 了 一個 很 小 的 SOAP錯 誤 代 碼 的 集 合 用 于 覆 蓋 基 本 的 SOAP錯 誤 。 2 faultstring元 素 是 為 那 些 錯 誤 代 碼 提 供 一 個 人 可 以 讀 懂 的 錯 誤 解釋 , 它 不 是 為 程 序 處 理 而 設(shè) , 提 供 一 些 解 釋 該 錯 誤 種 類 的 信 息 。 3 faultactor元 素 是 為 在 SOAP消 息 路 徑 中 是 誰 引 起 了 該 錯 誤 的 發(fā) 生這 一 情 況 描 述 信 息 。 faultactor屬 性 的 值 是 一 個 標(biāo) 識 該 源 的 一 個 URI。所
23、謂 并 非 作 為 SOAP消 息 最 終 接 收 者 的 應(yīng) 用 程 序 必 須 在 SOAP Fault元 素中 包 含 faultactor元 素 。 而 消 息 的 最 終 接 收 者 可 以 使 用 faultactor元素 來 明 確 地 指 明 是 它 生 成 了 該 錯 誤 。 4 detail元 素 是 用 于 傳 輸 與 SOAP Body元 素 相 關(guān) 的 應(yīng) 用 程 序 特 別 的 錯誤 信 息 。 如 果 Body元 素 中 的 內(nèi) 容 不 能 被 成 功 地 處 理 的 時 候 , 它 必 須 出現(xiàn) 。 它 必 須 不 能 被 用 于 傳 輸 屬 于 Header條
24、 目 的 錯 誤 信 息 。 計 算 機(jī) 學(xué) 院 20 SOAP錯 誤 若 SOAP Fault元 素 中 不 出 現(xiàn) detail元 素 , 則 表 明 其 中 的 錯誤 與 Body元 素 的 處 理 無 關(guān) 。 這 可 以 用 于 區(qū) 分 在 錯 誤 情 況 下Body元 素 是 否 被 SOAP的 最 終 接 受 者 處 理 過 。 detail元 素 的 所 有 直 接 子 元 素 都 被 稱 為 detail條 目 , 同 時每 個 detail條 目 都 作 為 detail元 素 中 的 一 個 獨(dú) 立 的 元 素 進(jìn)行 編 碼 。 detail條 目 的 編 碼 規(guī) 則 如
25、下 : 1 一 個 detail條 目 由 一 個 完 整 修 飾 的 元 素 名 來 標(biāo) 識 。detail元 素 的 直 接 子 元 素 可 以 是 命 名 空 間 修 飾 的 。 2 SOAP encodingStyle屬 性 可 以 被 用 來 表 明 detail條 目 中使 用 的 編 碼 規(guī) 則 。 計 算 機(jī) 學(xué) 院 21 SOAP編 碼 簡 單 類 型 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ù) 組 : 一 個 Byte數(shù) 組 可 以 編 碼 為 單 引 用 或 多 引 用 值 。對 一 個 不 透 明 的 Byte數(shù) 組 的 推 薦 表 示 是 使 用 在 XML Schema規(guī) 范 中 定 義 的 “ base64” 編 碼 方 式 。 4 多
27、 態(tài) 存 取 標(biāo) 識 : 多 態(tài) 地 訪 問 數(shù) 個 類 型 的 值 , 在 運(yùn) 行 時 刻每 個 類 型 都 是 可 使 用 的 。 一 個 多 態(tài) 存 取 標(biāo) 識 實(shí) 例 必 須 包 含一 個 “ xsi:type” 屬 性 以 描 述 類 型 的 實(shí) 際 值 。 計 算 機(jī) 學(xué) 院 22 SOAP編 碼 復(fù) 合 類 型 SOAP依 照 在 程 序 語 言 中 常 常 看 見 的 以 下 結(jié) 構(gòu) 模 式來 定 義 復(fù) 合 類 型 : 1 “ struct” 是 一 個 復(fù) 合 類 型 值 , 其 成 員 的 存取 標(biāo) 識 名 是 相 互 區(qū) 別 的 唯 一 標(biāo) 志 , 應(yīng) 彼 此 各 不
28、相同 。 2 “ array” 是 一 個 復(fù) 合 類 型 值 , 其 成 員 的 順 序位 置 是 相 互 區(qū) 別 的 唯 一 標(biāo) 志 。 計 算 機(jī) 學(xué) 院 23 SOAP中 的 RPC SOAP的 一 個 設(shè) 計 目 標(biāo) 就 是 要 利 用 XML的 可 擴(kuò) 展 性 和 可 伸 縮 性來 包 裝 和 交 換 RPC調(diào) 用 。 在 RPC中 , 使 用 HTTP作 為 SOAP協(xié) 議 綁 定 媒 介 的 情 況 下 , 一 個RPC調(diào) 用 可 以 很 自 然 地 映 射 到 一 個 HTTP請 求 , 而 RPC響 應(yīng) 則可 以 映 射 到 HTTP響 應(yīng) 。 使 用 SOAP方 式 的
29、RPC并 不 限 于 HTTP協(xié)議 綁 定 。 為 實(shí) 施 一 個 方 法 調(diào) 用 , 需 要 以 下 信 息 : 1 目 標(biāo) SOAP結(jié) 點(diǎn) 的 URI 2 方 法 名 3 可 選 的 方 法 或 過 程 的 特 征 4 方 法 或 過 程 的 參 數(shù) 5 可 選 的 頭 數(shù) 據(jù) SOAP依 賴 協(xié) 議 綁 定 來 提 供 傳 送 URI的 機(jī) 制 。 計 算 機(jī) 學(xué) 院 24 RPC和 SOAP Body RPC調(diào) 用 和 響 應(yīng) 都 是 在 SOAP Body元 素 中 傳 送 , 使 用 如下 表 示 方 式 : 1 一 個 方 法 調(diào) 用 被 建 模 成 一 個 結(jié) 構(gòu) struct
30、。 該 方 法調(diào) 用 顯 示 為 一 個 簡 單 結(jié) 構(gòu) struct, 包 含 每 個 in或in/out參 數(shù) 的 存 取 標(biāo) 識 。 該 結(jié) 構(gòu) 的 名 和 類 型 可 使 用過 程 或 方 法 的 名 來 標(biāo) 識 。 2 每 個 in或 in/out參 數(shù) 都 被 表 示 為 一 個 存 取 標(biāo)識 , 該 存 取 標(biāo) 識 的 名 和 類 型 都 對 應(yīng) 于 相 應(yīng) 參 數(shù) 的 名 和類 型 。 他 們 的 次 序 也 是 按 照 原 來 RPC中 的 次 序 。 3 一 個 方 法 響 應(yīng) 被 建 模 成 一 個 結(jié) 構(gòu) struct。 計 算 機(jī) 學(xué) 院 25 SOAP 請 求 消
31、息 Computer 計 算 機(jī) 學(xué) 院 26 RPC和 SOAP Body 該 方 法 響 應(yīng) 顯 示 為 一 個 簡 單 結(jié) 構(gòu) struct, 包 含 每 個 out或in/out參 數(shù) 的 存 取 標(biāo) 識 。 而 第 一 個 存 取 標(biāo) 識 是 返 回 值 , 而 隨 后則 是 按 照 原 來 次 序 的 返 回 參 數(shù) 。 每 個 out或 in/out參 數(shù) 都 被 表 示 為 一 個 存 取 標(biāo) 識 , 該 存 取 標(biāo)識 的 名 和 類 型 都 對 應(yīng) 于 相 應(yīng) 參 數(shù) 的 名 和 類 型 。 返 回 值 的 存 取 標(biāo) 識名 并 沒 有 多 少 語 義 。 同 樣 的 , 結(jié)
32、 構(gòu) 的 名 也 并 沒 有 多 少 語 義 。 當(dāng) 然 ,無 論 如 何 , 在 添 加 了 “ Response” 字 串 的 方 法 名 后 , 要 有 一 個 約定 來 命 名 它 。 方 法 調(diào) 用 出 錯 應(yīng) 使 用 SOAP Fault元 素 來 編 碼 。 如 果 一 個 綁 定 協(xié) 議對 于 錯 誤 表 達(dá) 還 有 額 外 規(guī) 則 , 那 么 這 些 規(guī) 則 都 應(yīng) 當(dāng) 被 遵 守 。 方 法 和 響 應(yīng) 的 結(jié) 構(gòu) 可 以 使 用 規(guī) 則 來 編 碼 , 也 可 以 使 用 在encodingStyle屬 性 中 描 述 的 其 他 編 碼 。 應(yīng) 用 程 序 可 以 處
33、理 漏 寫 參 數(shù) 的 請 求 不 過 也 可 以 返 回 一 個 錯 誤 。 因 為 在 響 應(yīng) 中 若 包 含 “ result” 則 表 明 成 功 , 若 包 含 “ fault” 則 表 明 失 敗 , 所 以 如 果 方 法 響 應(yīng) 中 同 時 包 含 了 “ result” 和“ fault” 則 是 錯 誤 的 。 計 算 機(jī) 學(xué) 院 27 SOAP 響 應(yīng) 消 息 8000.00 計 算 機(jī) 學(xué) 院 28 HTTP傳 輸 SOAP 雖 然 SOAP可 以 和 多 種 HTTP請 求 方 法 聯(lián) 合 使 用 , 但 這 里 的 綁定 只 定 義 了 SOAP是 如 何 在 HT
34、TP Post請 求 中 傳 輸 的 。 1 HTTP Header中 的 SOAPAction字 段 : SOAPAction HTTP請 求 頭 字 段 (header field)可 以 用 于 指 示 SOAP HTTP請 求的 目 的 。 它 的 值 是 一 個 標(biāo) 識 該 目 的 的 URI。 2 SOAP HTTP響 應(yīng) : 在 HTTP之 上 的 SOAP遵 從 用 于 在 HTTP中表 示 通 訊 狀 態(tài) 的 HTTP狀 態(tài) 代 碼 的 語 義 。 例 如 , 2xx狀 態(tài) 代碼 表 明 這 是 客 戶 端 包 含 SOAP構(gòu) 件 的 請 求 被 成 功 的 接 收 、 理解
35、 和 接 受 等 等 。 3 當(dāng) 處 理 請 求 的 時 候 發(fā) 生 SOAP錯 誤 的 時 候 , SOAP HTTP服務(wù) 器 必 須 發(fā) 出 一 個 HTTP 500 “ Internal Server Error”響 應(yīng) 同 時 在 包 含 于 該 響 應(yīng) 的 SOAP消 息 中 應(yīng) 包 含 一 個 SOAP Fault元 素 。 4 HTTP擴(kuò) 展 框 架 : SOAP消 息 可 以 與 HTTP Extension Framework一 起 使 用 來 標(biāo) 識 SOAP HTTP請 求 。 計 算 機(jī) 學(xué) 院 29 在 HTTP中 使 用 SOAP SOAP利用HTTP的請求/響應(yīng)消
36、息模型,將SOAP請求的參數(shù)放在HTTP請求里,而將SOAP響應(yīng)的參數(shù)放在HTTP響應(yīng)里。 SOAPAction HTTP請 求 頭 字 段 (header field)可 以 用 于 指 示 SOAP HTTP請 求 的 目 的 。 它 的 值 是一 個 標(biāo) 識 該 目 的 的 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ī) 學(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ī) 學(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等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識競賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識測試題庫及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測工種技術(shù)比武題庫含解析
- 1 礦山應(yīng)急救援安全知識競賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案