SOAP (プロトコル)

SOAP (プロトコル)の最新ニュースをまとめて検索!

SOAP(ソープ)は、ソフトウェア同士がメッセージ(オブジェクト)を交換する(リモートプロシージャコール - 遠隔手続呼び出し)ためのプロトコル。ここでいうオブジェクトとはオブジェクト指向のそれである。以前は Simple Object Access Protocol という名前だった。

SOAPは拡張可能で分散的なフレームワークであり、HTTPSMTPなど様々なコンピュータネットワーク通信プロトコルで利用することができる。

いくつかのSOAPメッセージを相互作用させることによってリモートプロシージャコールが実現できる。SOAPはWebサービスに有効な手段の一つである。

SOAPはXMLに基づいており、XMLの、ヘッダとボディを組み合わせるデザインパターンで設計されている。「ヘッダ」は、オプショナルであり、ルーティングセキュリティ、そして トランザクションなどのための情報といったメタ情報を格納できる。「ボディ」部分は、主要な情報、別の言い方をすればペイロードと呼ばれるものである。SOAPのペイロードはXML Schemaで規定することができる。

[編集] SOAPメッセージの例

一例として、あるSOAPクライアントが、架空のショッピングサイトのWebサービスから商品データを整形してSOAPメッセージとして要求する(SOAPリクエスト)際、SOAPメッセージはおおよそ以下のようになる。

 <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
   <SOAP-ENV:Body>
     <getProductDetails xmlns="http://warehouse.example.com/ws">
       <productId>827635</productId>
     </getProductDetails>
   </SOAP-ENV:Body>
 </SOAP-ENV:Envelope>

これに対し、ショッピングサイトのWebサービス側が、要求に基づいて商品データを返信する場合はこのようなSOAPメッセージとなる。

 <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
   <SOAP-ENV:Body>
     <getProductDetailsResponse xmlns="http://warehouse.example.com/ws">
       <getProductDetailsResult>
         <productName>Toptimate 3-Piece Set</productName>
         <productId>827635</productId>
         <description>3-Piece luggage set.  Black Polyester.</description>
         <price>100.50</price>
         <inStock>true</inStock>
       </getProductDetailsResult>
     </getProductDetailsResponse>
   </SOAP-ENV:Body>
 </SOAP-ENV:Envelope>

[編集] 関連項目

[編集] 外部リンク

最終更新 2009年11月11日 (水) 13:58 (日時は個人設定で未設定ならばUTC)。
【SOAP (プロトコル)】変更履歴

ご利用上の注意