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