TOP書籍連動> SOAPの概要
SOAPの紹介
SOAPの紹介

第1回:SOAPの概要

著者:Alessandro Sfondrini   2006/3/1
前のページ  1  2
SOAPの概要

   SOAPはW3Cによって作成されたXMLベースのプロトコルです。ディストリビューション環境で、クライアントからサーバにサービスの要求やパラメータを渡したり、クライアントからサーバに処理結果を返すのを手助けするために作成されました。

   SOAPのメッセージはインターネットプロトコル(通常はHTTPとHTTPS)上で送信されます。SOAPはとてもパワフルです。SOAPでは、アプリケーションが受信するメッセージが、そのアプリケーションと同じプログラミング言語で書かれている必要はありません。

   また、リクエストを生成するOSと同じOSで実行する必要もありません。プラットフォームに関係なく実行することができます。例えば、.NETアプリケーションのデータとPythonで書かれたデータを交換させることが簡単にできます。

   SOAPメッセージは、通常次の3つの要素から構成されます。

  • envelope要素
  • header要素
  • body要素

表2:SOAPメッセージを構成する3つの要素

   エラー状態を処理する場合、これらに加えSOAP fault要素を使用することもあります。envelope要素はSOAPメッセージの最初の要素であり、必要不可欠な要素です。

   namespace宣言や追加属性を格納します。さらにbody要素に付随するnamespace修飾されたサブ要素を格納することもあります。header要素はオプションで、省略可能です。使用する場合、envelope要素の最初の子要素になります。SOAP bodyに記述された情報をどのサーバに渡し、どのように処理するべきなのか、というような情報が含まれています。

   header要素の直接の子要素として、namespace修飾されたheader項目を格納します。さらに言語、日付などのようなメッセージについての一般的な情報を格納します。

   body要素は必要不可欠なものです。実際に交換されるXMLデータが入ります。envelop要素の(headerが設定されていればそれに続く)直接の子要素です。body要素の子要素となるbody項目を含み、それらの項目はnamespace修飾されています。これはメッセージの中核部分となります。リクエストやレスポンスを含み、RPCを実行するのに使用される部分となります。

   記述したように、エラーメッセージを表示するために用いられる、fault要素と呼ばれる、特殊なタイプのbody項目があります。そのサブ要素はエラー(エラーコードおよびエラー名、その原因など)に関する情報を報告するために使用されます。アプリケーションによってはこの項目を使用することがあるかもしれません。従って、これについても簡単に説明します。

   SOAP言語の詳細な説明については、http://www.w3.org/TR/SOAP(日本語訳:http://www.trl.ibm.com/projects/xml/SOAP1.1-j-ibm-revision2.html)でW3Cのドキュメンテーションをチェックしてください。

   WSDLは非常に複雑なトピックであるため、ここでは詳しく触れません。しかし、重要なものですので、ざっと一通り見るだけでも価値があります。

前のページ  1  2


Alessandro Sfondrini
著者プロフィール
Alessandro Sfondrini
イタリアのコモ出身の若いプログラマであり、PHPとC言語に関連したWebサービスに興味をもっています。また、近日出版される『php|a Nanobook"Practical Web Services"』の著者です。


INDEX
第1回:SOAPの概要
  イントロダクション
SOAPの概要