WS-Addressing
From Wikipedia, the free encyclopedia
WS-Addressing(Web Services Addressing)は、Webサービスがアドレス指定情報をやりとりするための転送手段から独立した機構の仕様である。基本的に、Webサービスのエンドポイントへの参照をやりとりする構造と、特定のメッセージとアドレス指定情報を関連付けるメッセージアドレス指定情報群という2つの部分から構成される。
HTTP/HTTPS上で転送されるSOAPメッセージは、正しいマシンに到達するためにHTTP/TCP/IPに依存しており、メッセージ外の情報を使うことで(すなわち、SoapAction HTTP ヘッダ)目的のマシンにメッセージが到達したことが分かるようになっている。このメッセージ外情報はHTTP特有のものである。したがって、HTTPに依存しないようにするには、そのメッセージ外情報をどうするかを考えなければならない。
WS-Addressing は、そのHTTP固有データをXMLメッセージ自体に埋め込む標準化された方法である。下位層のプロトコルに依存することなくディスパッチ情報を転送可能にするため、標準SOAPヘッダにディスパッチメタデータを格納する。下位層プロトコルはそのメタデータを解読できるディスパッチャーにそのメッセージを送ればよい。メッセージがディスパッチャーに到達した時点で、ネットワークレベルの転送処理は完了する。
WS-Addressing は、応答を送るべき相手を示すエンドポイント・リファレンス (EPR) を含むSOAPヘッダ (wsa:ReplyTo) を指定することで、(HTTPから見れば)非同期なやり取りを実現する。応答を返すサービスプロバイダは、wsa:ReplyTo エンドポイントへの分離したコネクション上でその応答メッセージを転送する。これにより、SOAP要求/応答の持続時間とHTTP要求/応答の持続時間は切り離され、任意の時間だけ持続するやり取りが可能になる。特別なURL "http://www.w3.org/2005/08/addressing/anonymous" を使い、サービスプロバイダが "protocol specific back-channel"(SOAP/HTTP の場合、HTTP応答メッセージ)を応答の送信に使うべきであることを示す。