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