靈魂-放水

          為學日益,為道日損。

          BlogJava 首頁 新隨筆 聯系 聚合 管理
            296 Posts :: 10 Stories :: 274 Comments :: 0 Trackbacks
          SOAP:簡單對象訪問協議
          (SOAP:Simple Object Access Protocol)

            簡單對象訪問協議(SOAP)是一種輕量的、簡單的、基于 XML 的協議,它被設計成在 WEB 上交換結構化的和固化的信息。 SOAP 可以和現存的許多因特網協議和格式結合使用,包括超文本傳輸協議( HTTP),簡單郵件傳輸協議(SMTP),多用途網際郵件擴充協議(MIME)。它還支持從消息系統到遠程過程調用(RPC)等大量的應用程序。

          SOAP 包括三個部分:
          SOAP 封裝:它定義了一個框架 , 該框架描述了消息中的內容是什么,誰應當處理它以及它是可選的還是必須的。
          SOAP 編碼規則:它定義了一種序列化的機制,用于交換應用程序所定義的數據類型的實例。
          SOAP RPC 表示:它定義了用于表示遠程過程調用和應答的協定。

            SOAP 消息基本上是從發送端到接收端的單向傳輸,但它們常常結合起來執行類似于請求 / 應答的模式。所有的 SOAP 消息都使用 XML 編碼。一條 SOAP 消息就是一個包含有一個必需的 SOAP 的封裝包,一個可選的 SOAP 標頭和一個必需的 SOAP 體塊的 XML 文檔。

            把 SOAP 綁定到 HTTP 提供了同時利用 SOAP 的樣式和分散的靈活性的特點以及 HTTP 的豐富的特征庫的優點。在 HTTP 上傳送 SOAP 并不是說 SOAP 會覆蓋現有的 HTTP 語義,而是 HTTP 上的 SOAP 語義會自然的映射到 HTTP 語義。在使用 HTTP 作為協議綁定的場合中, RPC 請求映射到 HTTP 請求上,而 RPC 應答映射到 HTTP 應答。然而,在 RPC 上使用 SOAP 并不僅限于 HTTP 協議綁定。

          協議結構

            SOAP 消息格式:

            SOAP 標頭

            <SOAP-ENV: Envelope

            Attributes>

            <SOAP-ENV:Body

            Attributes

            </SOAP-ENV:Body>

            </SOAP-ENV:Envelope>

            示例 1 : 內嵌在 HTTP 請求中的 SOAP 消息

          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:GetLastTradePrice xmlns:m="Some-URI">
          <symbol>DIS</symbol>
          </m:GetLastTradePrice>
          </SOAP-ENV:Body>
          </SOAP-ENV:Envelope>

            下面是一個包含將 SOAP 消息作為負載的 HTTP 應答消息。

            示例 2 : 內嵌在 HTTP 應答中的 SOAP 消息

          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">
          <Price>34.5</Price>
          </m:GetLastTradePriceResponse>
          </SOAP-ENV:Body>
          </SOAP-ENV:Envelope>
          posted on 2006-11-24 14:56 放水老倌 閱讀(1195) 評論(0)  編輯  收藏 所屬分類: J2EE
          主站蜘蛛池模板: 祁阳县| 德庆县| 永丰县| 额济纳旗| 定日县| 哈巴河县| 沁阳市| 自贡市| 喀什市| 保德县| 稷山县| 黔西| 金昌市| 佛坪县| 奉节县| 西平县| 津南区| 白银市| 云安县| 威信县| 衢州市| 河曲县| 沙洋县| 本溪市| 新干县| 凤冈县| 拜泉县| 额敏县| 拜城县| 房产| 铜鼓县| 云阳县| 桐梓县| 博乐市| 娱乐| 富平县| 卢龙县| 迭部县| 乌什县| 兴安县| 方城县|