WebSphere Enterprise Service Bus バージョン 6.2.0 オペレーティング・システム: AIX、HP-UX、i5/OS、Linux、Solaris、Windows


ワイヤーされている HTTP インポートを使用した動的起動

ワイヤーされている HTTP データ・バインディング・インポートを使用してエンドポイントの動的起動を有効にする方法について説明します。

概要

インポートで指定されたものと異なるエンドポイントを使用してサービスを起動できます。 HTTP バインディングの場合、HTTP URI 標準に準拠した URI を使用して動的エンドポイントを指定することができます。
図 1. ワイヤーされているインポートを使用した動的起動によるエンドポイント・オーバーライドの図
メッセージは、モジュール内を通過し、インポート・バインディングを通過して Web サービスに到達します。メッセージ内の情報は、エンドポイントを動的にオーバーライドできます。

WebSphere® Integration Developer でタスクを実行して、動的エンドポイントが設定されたメディエーション・モジュールを作成できます。

エンドポイント・アドレスのプログラム・オーバーライド

SCA パブリック API を使用してエンドポイント・アドレスをオーバーライドすることができます。 以下のコード例の uri 値は、HTTP URI 標準に準拠している必要があります。
epr = EndpointReferenceFactory.INSTANCE.createEndpointReference();
epr.setAddress(uri);
epr.setBindingType(bindingType);
Service dynamicService = (Service) ServiceManager.INSTANCE.getService(refname, epr);
DataObject customer = createCustomer(refname, "twoway", uri);
HTTP URI には、Web サービスの SOAP/HTTP エンドポイント・アドレスと同じ接頭部が設定されます。 エンドポイント参照にバインディング・タイプ属性を追加して、正しいエンドポイント・タイプを指定します。 HTTP URI に対してバインディング・タイプ属性を指定しなかった場合は、エンドポイント参照が HTTP インポートにワイヤーされている場合でも、そのアドレスは SOAP/HTTP エンドポイントとして解釈されます。

HTTP エンドポイントの記述

動的起動で使用する HTTP エンドポイントは、HTTP URI 標準に準拠した構造になります。

HTTP エンドポイントを使用した動的起動の作成

動的エンドポイントが設定されたメディエーション・モジュールを作成するには、以下のタスクを実行します。
  1. メディエーション・モジュール 1 を作成し、インポートにワイヤーされている POJO を格納します。
  2. メディエーション・モジュール 2 を作成し、POJO 2 にワイヤーされているエクスポート 2 を格納します。
  3. メディエーション・モジュール 3 を作成し、POJO 3 にワイヤーされているエクスポート 3 を格納します。
  4. インポートがメッセージをエクスポート 2 に送信するように構成します。
  5. エクスポート 2 とエクスポート 3 のポート・タイプが同じであることを確認します。
  6. 3 つのモジュールをサーバーにデプロイします。

動的起動の使用

メッセージ内でエクスポート 3 がエンドポイントとして指定されている場合に要求応答操作によって POJO を起動すると、動的起動が実行されます。 起動された POJO はメッセージからエンドポイントを抽出し、元のデプロイメントで指定されているエクスポート 2 ではなくエクスポート 3 をエンドポイントとして識別します。 さらに POJO は、インポートにワイヤーされている参照と SCA エンドポイント参照 API を使用して、メッセージのエンドポイントで指定されているリモート・サービスを起動します。 バインディング・タイプを HTTP に設定すると、正しいアドレス・タイプが使用されます。 サービスの起動後に、応答が POJO に返されます。

片方向の起動メッセージは、両方向の起動メッセージと同じように機能しますが、応答メッセージは返しません。

以下の 2 つの条件のいずれかに該当する場合は、実行時例外が発生します。
  • URI の構文が無効な場合。
  • 指定のエンドポイントが存在しない場合。

reference 参照トピック

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


タイム・スタンプ・アイコン 最終更新: 2010/07/09


http://publib.boulder.ibm.com/infocenter/dmndhelp/v6r2mx/topic//com.ibm.websphere.wesb620.doc/ref/rwesb_dynamicroutingwithwiredHTTPimport.html
Copyright IBM Corporation 2005, 2010. All Rights Reserved.
このインフォメーション・センターでは Eclipse テクノロジーが採用されています (http://www.eclipse.org)。