ワイヤーされていない Web サービス・データ・バインディング・インポートを使用し、SMO によってエンドポイントの動的起動を有効にする方法について説明します。
概要
インポートで指定されたものと異なるエンドポイントを使用してサービスを起動できます。
Web サービス・バインディングの場合、通常の Web サービス URL を使用して動的エンドポイントを指定することができます。
インポートがワイヤーされていない場合は、使用するターゲット・インポートの名前が着信メッセージから検出されます。
図 1. ワイヤーされていないインポートを使用した SMO による動的起動でのエンドポイント・オーバーライドの図
WebSphere® Integration Developer でタスクを実行して、動的エンドポイントが設定されたメディエーション・モジュールを作成します。
ワイヤーされていない Web サービス・エンドポイントを使用した動的起動の作成
動的エンドポイントが設定されたメディエーション・モジュールを作成するには、以下のタスクを実行します。
- メディエーション・モジュール 1 を作成し、任意のタイプのエクスポート、メディエーション・フロー・コンポーネント、ワイヤーされていないインポートをそれぞれ格納します。
- メディエーション・モジュールのインポートを静的 SvcProvider 1 に接続します。
- SvcProvider 2 を作成します。
- SvcProvider 1 と SvcProvider 2 のポート・タイプが同じであることを確認します。
- インポートがメッセージを SvcProvider 1 に送信するように構成されていることを確認します。
- コールアウト・ノードで動的エンドポイント起動のオーバーライドが有効になっていることを確認します。
- モジュールをサーバーにデプロイします。
動的起動の使用
Web サービス起動の場合は、エンドポイントの URL を通常の形式で指定します。
例えば、URL 接頭部 http: または jms: を指定すると、Web サービスが起動します。
インポートがワイヤーされていない場合は、ターゲット・インポートと、対象のエクスポートに対して解決されるルーティング基準がメッセージに含まれます。
メディエーション・フロー・コンポーネントは、メッセージ・エレメント・セッター・プリミティブを使用してメッセージからエンドポイントとターゲット・インポートを抽出し、SMO に格納します。
例えば、図 1 で、コールアウトは、この SMO から取得した情報を使用して SvcProvider 2 を起動します。応答フローからエクスポートの呼び出し元に応答が返されます。
片方向の起動メッセージは、両方向の起動メッセージと同じように機能しますが、応答メッセージは返しません。
以下の 3 つの条件のいずれかに該当する場合は、実行時例外が発生します。
- URI の構文が無効な場合。
- 指定のターゲット・インポートが存在しない場合。
- SvcProvider 2 が使用できない場合。
いずれかに該当する場合はインポートによって実行時例外がスローされ、応答フローに返されます。