WebSphere Application Server for i5/OS, Version 6.1   
             オペレーティング・システム: i5/OS

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

WSIFOperation - コンテキスト

WSDL はコンテキストを定義しませんが、Web Services Invocation Framework (WSIF) を使用する多くの用途では、 サービスを呼び出すポートにコンテキストを渡すための機能が必要です。

例えば、SOAP over HTTP ポートでは、 HTTP ユーザー名とパスワードが必要になる場合があります。この情報は、 呼び出しに特有の情報ですが、サービスのパラメーターではありません。 一般に、コンテキストは名前と値のペアとして定義されます。 しかし、Web サービスは、XML スキーマ・タイプを使用してデータのタイプを定義することが多いため、 WSIF は、WSIFMessage クラスが使用する表記と同じものを 使用してコンテキストの名前と値のペアを表します。それは、すなわち名 前付き部分のセットであり、それぞれの名前付き部分は、XML スキーマ・タイプのインスタンスと同等です。

WSIFOperation インターフェースの setContext メソッドと getContext メソッドを使用して、バインディングにコンテキスト情報を渡すことができます。 ポートのインプリメンテーションは、このコンテキストを使用して、 例えば SOAP ヘッダーを更新することができます。 ポートがコンテキストを利用する方法についての定義はありません。

setContext メソッドおよび getContext メソッドのパラメーターは WSIFMessage インターフェースであり、 このインターフェースには、コンテキスト情報を定義する名前付き部分があります。 WSIFConstants クラスは、コンテキスト WSIFMessage インターフェースに設定できる部分名の定数を定義します。

次のコード・フラグメントは、HTTP 基本認証用のユーザー名とパスワードを設定する方法を示しています。

 // set a basic authentication header
    WSIFMessage headers = new WSIFDefaultMessage();
    headers.setObjectPart( WSIFConstants.CONTEXT_HTTP_USER, "user name" );
    headers.setObjectPart( WSIFConstants.CONTEXT_HTTP_PSWD, "password" );
    operation.setContext( headers );

WSIFOperation インターフェースでは、サポートされていないコンテキスト部分は無視されます。例えば、 前のコードは WSIF Java プロバイダーにより無視されます。

WSIFConstants クラスには、コンテキスト部分名に使用できる以下の定数が含まれています。

HTTP ヘッダー値はタイプ String を持ち、 SOAP ヘッダー値はタイプ java.util.List (タイプ org.w3c.dom.Element の項目を含む) を持つことになります。




関連資料
WSIFOperation - 非同期対話の解説
WSIFOperation - 同期および非同期タイムアウトの解説
WSIFOperation インターフェース
参照トピック    

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

最終更新: Jan 21, 2008 5:46:14 PM EST
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.base.iseries.doc/info/iseries/ae/rwsf_context.html