WebSphere Application Server - Express, Version 6.1   
             オペレーティング・システム: AIX , HP-UX, Linux, Solaris, Windows, Windows Vista

             目次と検索結果のパーソナライズ化

Web Services Addressing SPI

Web Services Addressing (WS-Addressing) システム・プログラミング・インターフェース (SPI) は、 アプリケーション・プログラミング・インターフェースを拡張して、 エンドポイント参照および他の WS-Addressing 成果物の内容の作成とそれに関する判断、 および Web サービス・メッセージ上での WS-Addressing メッセージ・アドレッシング・プロパティー (MAP) の設定と、 Web サービス・メッセージからの同プロパティーの取得を可能にします。

このトピックで取り上げるプログラミング・インターフェースについては、WS-Addressing SPI の資料に より詳しい説明があります。

エンドポイント参照の内容の作成と詳細化、 およびそれに関する判断

エンドポイント参照の内容の作成、 詳細化、および判断の SPI は、com.ibm.wsspi.wsaddressing パッケージに含まれており、 以下の例のように要約されます (最初の 2 つのインターフェースは、SPI によって拡張される API インターフェースです)。
提供されるクラスおよびインターフェースの詳細については、SPI の資料を参照してください。

SPI は WS-Addressing com.ibm.websphere.wsaddressing.EndpointReference API を 拡張して、com.ibm.wsspi.wsaddressing.EndpointReference インターフェースを介してさまざまな追加メソッドを提供します。 この追加機能を利用するためには、com.ibm.websphere.wsaddressing.EndpointReference の インスタンスを com.ibm.wsspi.wsaddressing.EndpointReference にキャストします。

同様に、SPI com.ibm.wsspi.wsaddressing.EndpointReferenceManager は、 com.ibm.websphere.wsaddressing.EndpointReferenceManager API の機能を拡張します。

EndpointReference および EndpointReferenceManager SPI に用意された追加メソッドを使用すると、 以下のアクションを実行できます。
エンドポイント参照の作成
EndpointReference オブジェクトを作成するには、その EndpointReference オブジェクトが表す エンドポイントの URI を、createEndpointReference(URI) オペレーション または EndpointReferenceManager.createEndpointReference(AttributedURI) オペレーションを使用して指定します。 これらのメソッドは、API レベルで提供される createEndpointReference メソッドとは、 EndpointReference インスタンスの URI を自動生成しないという点で異なります。 これらのメソッドは、エンドポイントの URI が安定している場合、 例えばデプロイメントを考慮しなくてよいテスト環境などで使用してください。
エンドポイント参照の XML 表記と Java 表記の間のマッピング
EndpointReference.getSOAPElement オペレーションを使用すると、 EndpointReference インターフェースのインスタンスをそれに対応する SOAP エレメント・インスタンスにシリアライズできます。 逆に、EndpointReference.createEndpointReference(SOAPElement) オペレーションによって、 タイプ EndpointReferenceType の SOAP エレメントをそれに対応する EndpointReference Java 表記に デシリアライズすることもできます。 これらのシリアライゼーションおよびデシリアライゼーションのインターフェースは、 EndpointReference インスタンスが含まれるタイプのカスタム・バインダーを作成する場合に役に立ちます。
より複雑な参照パラメーター・タイプの使用
API レベルで提供されるインターフェースは、より単純なプログラミング・モデルを可能にするために、 タイプ xsd:string の参照パラメーターに制限されています。 SPI はこのサポートを拡張して、 タイプ <xsd:any> の参照パラメーターを使用できるようにします。 EndpointReference インターフェースで、 参照パラメーターを SOAP エレメントとして取得および設定することができます。 さらに EndpointReferenceManager クラスによって、 getSOAPElementReferenceParameterFromMessageContext オペレーションが提供され、 受信側のエンドポイントが、着信メッセージから String 以外のタイプの参照パラメーターを獲得できるようになります。
注: 参照パラメーターが含まれる EndpointReference オブジェクトでサービスを呼び出す際は、 存在するすべてのパーツ (ネーム・スペース、localpart、および接頭部) で、完全な QName オブジェクトを使用して参照パラメーターを作成する必要があります。 QName オブジェクトが完全でない場合、サービスの呼び出しは失敗します。
エンドポイント参照の内容の設定とそれに関する判断
EndpointReference インターフェースは、EndpointReference インスタンスの 内容 (WS-Addressing の [address] および [metadata] プロパティーなど) を設定し、判断するためのオペレーションを提供します。 エンドポイント参照 (Metadata、AttributedURI、 および ServiceName) を構成する成果物を表すために、追加のインターフェースが用意されています。 これらのインターフェースのインスタンスは、 WSAddressingFactory クラスのオペレーションで作成してください。
サポートされるネーム・スペースの獲得と変更
WebSphere Application Server の WS-Addressing サポートは、複数のネーム・スペースをサポートしています。 EndpointReference インターフェース上で提供される setNamespace オペレーション および getNamespace オペレーションで、特定の EndpointReference オブジェクトに関連付けられているネーム・スペースの 獲得と変更が可能になります。 SOAP エレメントへのシリアライゼーションは、 EndpointReference オブジェクトのネーム・スペースに対応しています。 デフォルトでは、 宛先エンドポイント参照 (JAX-RPC の Stub または Call オブジェクト上の com.ibm.websphere.wsaddressing.WSAConstants.WSADDRESSING_DESTINATION_EPR プロパティーとして 設定されるエンドポイント参照) のネーム・スペースは、メッセージの メッセージ・アドレッシング・プロパティーのネーム・スペースを定義します。

WS-Addressing メッセージ・アドレッシング・プロパティーの設定と取得

WS-Addressing SPI には、アウトバウンド・メッセージで WS-Addressing MAP を設定する JAX-RPC プロパティーと、 インバウンド・メッセージで MAP を取得するメッセージ・コンテキスト・プロパティーを識別するさまざまな定数が用意されています。これらの定数は、com.wsspi.wsaddresssing.WSAConstants クラスの 以下の図に示されています。この図には、 該当するプロパティー値のタイプ AttributedURI および Relationship のインスタンス生成に 必要なインターフェースも示されています。 最初の WSAConstants インターフェースは、API インターフェースです。
提供されるクラス、インターフェース、および定数の詳細については、SPI の資料を参照してください。

アウトバウンド・メッセージでの WS-Addressing メッセージ・アドレッシング・プロパティーの設定

WS-Addressing メッセージ情報ヘッダーを 出力メッセージに追加するには、JAX-RPC の Stub または Call インターフェースで適切な プロパティーを設定してから、Stub または Call オブジェクトでメッセージを呼び出します。次の表は、関連するプロパティーとそのタイプをまとめたものです。
表 1. BindingProvider オブジェクトの要求コンテキスト (または Stub または Call オブジェクト) 上で設定できる アウトバウンド・プロパティーとその Java タイプ、およびそれに相当する WS-Addressing MAP の抽象名。
(ストリング・タイプの) プロパティー名 プロパティー値の Java タイプ WS-Addressing MAP の抽象名 デフォルト値
WSADDRESSING_DESTINATION_EPR com.ibm.websphere.wsaddressing.EndpointReference

[destination] URI
[reference parameters]* (any)

設定なし

このプロパティーは API のものであることに注意してください。

WSADDRESSING_FROM_EPR com.ibm.websphere.wsaddressing.EndpointReference [source endpoint] 設定なし
WSADDRESSING_REPLYTO_EPR com.ibm.websphere.wsaddressing.EndpointReference [reply endpoint] 設定なし (メッセージが、無応答の片方向メッセージではない場合)
WSADDRESSING_FAULTTO_EPR com.ibm.websphere.wsaddressing.EndpointReference [fault endpoint] 設定なし
WSADDRESSING_RELATIONSHIP_SET java.util.Set containing instances of com.ibm.wsspi.wsaddressing.Relationship [relationship] 設定なし
WSADDRESSING_MESSAGE_ID com.ibm.wsspi.wsaddressing.AttributedURI [message id] 固有値に生成および設定
WSADDRESSING_ACTION com.ibm.wsspi.wsaddressing.AttributedURI [action] WS-Addressing 仕様に従って生成および設定
WSADDRESSING_OUTBOUND_NAMESPACE ストリング なし 指定されている場合は WSADDRESSING_DESTINATION_EPR プロパティーの WS-Addressing ネーム・スペース、 そうでない場合はデフォルト・ネーム・スペース

インバウンド・メッセージからの WS-Addressing メッセージ・アドレッシング・プロパティーの取得

最新のインバウンド・メッセージに 対応する WS-Addressing メッセージ情報ヘッダーは、WSAConstants クラスに定義されたインバウンド・プロパティーから入手できます。 次の表は、使用できるインバウンド・プロパティーをまとめたものです。 EndpointReferenceManager.getReferenceParameter インターフェースを使用して、メッセージ・コンテキストから参照パラメーターを獲得します。
表 2. メッセージ・コンテキストから獲得できるインバウンド・プロパティーと その Java タイプ、およびそれに相当する WS-Addressing MAP の抽象名
メッセージ・コンテキスト・プロパティー名 (タイプは String) プロパティー値の Java タイプ WS-Addressing MAP の抽象名
WSADDRESSING_INBOUND_TO com.ibm.wsspi.wsaddressing.AttributedURI [destination]
特定のプロパティーなし。 EndpointReferenceManager.getReferenceParameter(QName name) メソッドを使用して関連のある MAP を取得。 任意のタイプ [reference parameters]*
WSADDRESSING_INBOUND_FROM_EPR com.ibm.websphere.wsaddressing.EndpointReference [source endpoint]
WSADDRESSING_INBOUND_REPLYTO_EPR com.ibm.websphere.wsaddressing.EndpointReference [reply endpoint]
WSADDRESSING_INBOUND_FAULTTO_EPR com.ibm.websphere.wsaddressing.EndpointReference [fault endpoint]
WSADDRESSING_INBOUND_RELATIONSHIP java.util.Set containing instances of com.ibm.wsspi.wsaddressing.Relationship [relationship]
WSADDRESSING_INBOUND_MESSAGE_ID com.ibm.wsspi.wsaddressing.AttributedURI [message id]
WSADDRESSING_INBOUND_ACTION com.ibm.wsspi.wsaddressing.AttributedURI [action]
WSADDRESSING_INBOUND_NAMESPACE ストリング 着信メッセージの WS-Addressing ネーム・スペース



関連概念
Web Services Addressing サポート
Web Services Resource Framework サポート
関連タスク
Web サービス・リソース・フレームワークを使用したステートフル Web サービスの作成
WS-Addressing SPI の使用: 拡張 Web サービス・アドレッシング・タスクの実行
関連資料
例: Web Services Addressing API を使用して汎用 Web サービス・リソース・インスタンスにアクセスする Web サービスの作成
関連情報
開発者用 API 文書
参照トピック    

ご利用条件 | フィードバック

最終更新: Jan 21, 2008 6:25:35 PM EST
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.express.doc/info/exp/ae/rwbs_wsa_spi.html