JAX-RPC によるトランスポート・ヘッダーの送信

既存の Java™ API for XML-based RPC (JAX-RPC) Web サービス・クライアントを有効にすると、 トランスポート・ヘッダーを使用して、Web サービス要求とともにアプリケーション定義情報を 送信することができます。

始める前に

トランスポート・ヘッダーを送信できるようにする JAX-RPC Web サービス・クライアントが必要になります。

トランスポート・ヘッダーの送信は、Web サービス・クライアントによってのみサポートされ、HTTP および JMS トランスポートについてのみサポートされています。Web サービス・クライアントは、JAX-RPC API を、ゲートウェイ機能などの中間レイヤーを経由せずに直接呼び出す必要があります。Web サービス・サーバーのトランスポート・ヘッダーの送信および取得は、非 Web サービス API を使用して行います。

このタスクについて

JAX-RPC プログラミング・モデルを使用する場合、 クライアントはトランスポート・ヘッダー内の値を送信するために、 Stub または Call オブジェクトのプロパティーを設定する必要があります。 このプロパティーを設定すると、関連プロパティーが null に設定されるか、または Stub または Call オブジェクトが廃棄されるまで、Stub または Call オブジェクトに対する後続のリモート・メソッド呼び出し のすべての要求内で値が設定されます。

アウトバウンド要求でトランスポート・ヘッダー内の値を送信するには、 以下のようにクライアント・コードを変更します。

手順

  1. トランスポート・ヘッダー ID を含む java.util.HashMap オブジェクトを作成します。
  2. クライアントが送信するトランスポート・ヘッダーごとに、 エントリーを HashMap オブジェクトに追加します
    1. トランスポート・ヘッダー ID と正確に一致するストリングを HashMap エントリー・キーに設定します。 HTTP の場合の Cookie などのように予約済みヘッダー名でヘッダー ID を定義したり、 MyTransportHeader などのヘッダー ID をユーザー定義したりできます。 特定のヘッダー ID は固有の方法で処理されますが、ヘッダー ID 値に関しては、その他のチェックは行われません。 固有の考慮事項がある HTTP ヘッダー ID について詳しくは、トランスポート・ヘッダー・プロパティーのベスト・プラクティスを参照してください。HTTP_HEADER_SET_COOKIE などの共通ヘッダー ID ストリング定数は、com.ibm.websphere.webservices.Constants クラス内にあります。
    2. HashMap エントリーの値として、トランスポート・ヘッダーの値を含むストリングを指定します。
  3. com.ibm.websphere.webservices.Constants.REQUEST_TRANSPORT_PROPERTIES プロパティーを使用して、Stub または Call オブジェクトの HashMap エントリーを設定します。 REQUEST_TRANSPORT_PROPERTIES プロパティー値を設定すると、発信要求内でヘッダー値を設定する場合に 後続の呼び出しでその HashMap が使用されます。 REQUEST_TRANSPORT_PROPERTIES プロパティー値を >null に設定すると、 発信要求内でヘッダー値を設定する場合に後続の呼び出しで HashMap が使用されません。 これらのプロパティーについて詳しくは、 トランスポート・ヘッダー・プロパティーの文書を参照してください。
  4. Stub オブジェクトまたは Call オブジェクトに対して、リモート・メソッド呼び出しを発行します。 HashMap のヘッダーおよび関連値は、メソッド呼び出しごとに発信要求に追加されます。 呼び出しが HTTP を使用する場合、 トランスポート・ヘッダーは、HTTP 要求内の HTTP ヘッダーとして送信されます。 呼び出しが JMS を使用する場合、トランスポート・ヘッダーは、 JMS メッセージ・プロパティーとして送信されます。
    プロパティーが正しく設定されていない場合、 API 使用法エラーが発生し、JAXRPCException エラーが出される場合があります。以下の要件が満たされている必要があります。満たされていない場合は、プロセスが失敗します。
    • Stub または Call オブジェクトで設定されているプロパティー値は、 HashMap オブジェクトまたは null にする必要があります。
    • HashMap を空にすることはできません。
    • HashMap 内の各キーがストリング・オブジェクトである必要があります。
    • HashMap 内の各値がストリング・オブジェクトである必要があります。

タスクの結果

JAX-RPC Web サービス・クライアントは、トランスポート・ヘッダーを送信するよう構成されました。


トピックのタイプを示すアイコン タスク・トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twbs_cookie
ファイル名:twbs_cookie.html