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