この章の内容は次のとおりです。
ルーティング・ルールの詳細は、「Oracle Mediatorルーティング・ルールの作成」を参照してください。
メディエータには、マルチパートのソース・メッセージとターゲット・メッセージの操作のサポートが組み込まれており、この操作には、マルチパートのフィルタ式の作成、マルチパートのスキーマ検証およびリクエスト、リプライ、フォルト、コールバック用のマルチパートのソース・メッセージとターゲット・メッセージ間のトランスフォーメーションが含まれます。
メディエータ・エディタでマルチパートのソースは、図21-1 のように表示されます。
この項では、様々なタイプのマルチパート・メッセージの使用方法について説明します。
マルチパートのメッセージに対してフィルタ式を指定すると、図21-2 に示すように、式ビルダーには、in変数の下にすべてのメッセージ・パートが表示されます。
マルチパートのメッセージに対して検証を追加すると、図21-3 に示すように、「検証の追加」ダイアログにパートを選択できるパート・リストが表示されます。リクエスト・メッセージ・パートごとにSchematronファイルを指定します。次に、Oracle Mediatorでは、パートに対応するSchematronファイルが処理されます。
マルチパートのメッセージに対して新しいマッパー・ファイルを作成すると、図21-4 に示すように、XSLTマッパーでは、生成されたマッパー・ファイルに複数のソース・パートが表示されます。
ソース式を使用して値を割り当て、「値の割当て」ダイアログから式ビルダーを起動すると、式ビルダーには、in変数の下にすべてのメッセージ・パートが表示されます(図21-2 を参照)。これは、フィルタ式を指定した場合と同じです。
トランスフォーメーションの作成方法、およびマルチパートのリプライ、フォルト、コールバック用ソース・メッセージへの値の割当て方法は、リクエスト用ソース・メッセージの場合と同じです。
注意:
リプライ、フォルトおよびコールバック用の各メッセージに対しては、フィルタ式の指定や検証の追加はできません。
ルーティングのターゲット(つまり、リクエスト、リプライ、フォルトまたはコールバック)にマルチパートのメッセージがある場合、トランスフォーメーションは多少異なる方法で処理されます。これは、XSLTマッパーではマルチパートのターゲットがサポートされていないためです。このような場合は、図21-5 に示すように、メディエータによって、ターゲット・パートごとに別々のマッパー・ファイルが作成されて調整されます。
図21-5 マルチパートのルーティングのターゲットに対するリクエスト・トランスフォーメーション・マップ