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