WebSphere Enterprise Service Bus for z/OS バージョン 6.2.0 オペレーティング・システム: z/OS


XSL 変換メディエーション・プリミティブ

XSL 変換 (XSLT) メディエーション・プリミティブを使用して、メッセージを変換します。

概要

XSL 変換メディエーション・プリミティブを使用すると、XSL 変換を使用してメッセージを変換することができます。

サービスを統合する際に、受信側のサービスが処理できる形式にデータを変換しなければならないことがよくあります。こうした場合に XSL 変換メディエーション・プリミティブを使用すると、メッセージ・タイプを変換することができます。

XSL 変換メディエーション・プリミティブには、 入力端末 (in)、出力端末 (out)、障害端末 (fail) がそれぞれ 1 台ずつ存在します。 in 端末はメッセージの受信用に接続され、その他の端末はメッセージの送信用に接続されています。入力メッセージにより変換が起動され、変換が正常に行われた場合は、変更されたメッセージが out 端末によって伝搬されます。変換中に例外が発生すると、fail 端末により、failInfo エレメントに含まれる例外情報と共に元のメッセージが伝搬されます。

詳細

XSL 変換メディエーション・プリミティブは、XSLT 1.0 変換を使用してメッセージを操作するための単純なメカニズムを提供します。 入力メッセージと出力メッセージをマッピングすることにより、SMO のヘッダー、コンテキスト、本体を変更することができます。

メッセージを変換するには、XSL 変換メディエーション・プリミティブからマッピング・ファイルにアクセスする必要があります。マッピング・ファイルは、マッピング・ファイル・プロパティーを使用して指定します。XML マッピング・ファイルまたは XSL スタイルシートのいずれかをマッピング・ファイルとして使用することができます。

XSL 変換メディエーション・プリミティブを作成すると、WebSphere® Integration Developer を使用して、「プロパティー」ビューの「詳細」タブで新規の XML マップを作成できます。 あるいは、既存の XML マップを参照して、適しているものを選択することもできます。

XML マップを作成する場合は、メッセージ・ルート (XPath 1.0 式) を指定します。メディエーション・フローの場合、このメッセージ・ルートは SMO 内の //headers/context、または /body を参照します。メッセージ・ルートは変換のルートを指定するものであり、入力メッセージと出力メッセージの両方に適用されます。メッセージ・ルートが / である場合、変換は SMO 全体に適用されます。

XML マッピング・エディターを使用する場合、マッピングが作成されると、実行時に変換を行う XSL スタイルシートが生成されます。XML マッピング・エディターを使用する前に XSL 変換プリミティブの入力端末と出力端末をワイヤーした場合、入力メッセージ・タイプと出力メッセージ・タイプは自動的に入力されます。詳しくは、WebSphere Integration Developer のトピック『新規 XML マップの作成を参照してください。

XML マッピング・エディターを使用する必要はありません。代わりに、既存の XSL スタイルシートを使用して変換を実行できます。スタイルシートを選択するためには、そのスタイルシートがメディエーション・モジュール・プロジェクト・ディレクトリー内に存在している必要があります。詳しくは、WebSphere Integration Developer のトピック 『既存の XSL スタイルシートの使用を参照してください。

マイグレーション

WebSphere Integration Developer バージョン 6.1 では、XSL 変換プリミティブの XML マッピング・エディターが新しくなっています。以前のバージョンで作成した XML マップを編集するには、それらを新しいフォーマットにマイグレーションする必要があります。マイグレーションの詳細については、WebSphere Integration Developer のトピック『XSL 変換プリミティブのマイグレーションを参照してください。

使用法

メッセージ・タイプの異なるメディエーション・プリミティブを接続する必要がある場合は、XSL 変換メディエーション・プリミティブを使用してメッセージ・タイプを変換できます。

XSL 変換プリミティブを使用して、以下の操作を行うことができます。
  • 入力メッセージ・タイプを別の出力メッセージ・タイプに変換する。例えば、メディエーション・フローの開始時の操作と終了時の操作が異なり、2 番目の操作に異なる引数タイプがある場合などです。
  • メッセージ・タイプを変更せずにメッセージの内容を変更する。
  • 既存の XML マップまたはスタイルシートを適用して、メッセージを変換する。
XSL 変換メディエーション・プリミティブは、以下を実行したい場合に役立ちます。
  • データベース・ルックアップ・メディエーション・プリミティブが呼び出される前または後にデータを操作する。
  • サービス起動メディエーション・プリミティブからの応答を共用コンテキストにコピーする。
  • ファンイン・メディエーション・プリミティブの後で、共用コンテキスト内のデータを使用して新規メッセージ本体を作成する。

メッセージを変換するには、XSL 変換プリミティブまたはビジネス・オブジェクト・マップ・メディエーション・プリミティブを使用します。重要な違いは、XSL 変換プリミティブでは、スタイルシートを使用して XML 形式で変換を実行するのに対して、ビジネス・オブジェクト・マップ・プリミティブでは、サービス・データ・オブジェクト (SDO) を使用してビジネス・オブジェクト上で変換を実行するという点です。既存の XML マップまたは XSL スタイルシートがある場合は、それを XSL 変換プリミティブと組み合わせて再利用できる可能性があります。また、既存のビジネス・オブジェクト・マップがある場合は、それをビジネス・オブジェクト・マップ・プリミティブと組み合わせて再利用できる可能性があります。ある種類の変換では XSL 形式の方が実行しやすく、一方でビジネス・オブジェクト・マップを使用する方が実行しやすい変換もあります。

プロパティー

マッピング・ファイル
メディエーション・プリミティブが使用する XML マッピング・ファイルまたは XSL スタイルシートの名前を指定します。XML マッピング・ファイル (XSL スタイルシートが関連付けられている) または XSL スタイルシート自体のいずれかを選択できます。

既存の XML マッピング・ファイルを参照することも、新規マッピング・ファイルを作成することもできます。XML マッピング・ファイルには、実行時に変換を行う XSL スタイルシートが生成されています。

既存の XSL スタイルシートが、メディエーション・モジュールと同じプロジェクト内に存在する場合は、それらのスタイルシートを参照できます。

実行時に「マッピング・ファイル」の値を動的にオーバーライドする場合は、マッピング・ファイル・プロパティーをプロモートする必要があります (マッピング・ファイル・プロパティーをオーバーライドする場合でも、デフォルト値は指定しておく必要があります)。 オーバーライド値は、XSL スタイルシートに対して解決される必要があります。スタイルシートは、プロジェクト内のリソースのパスとして、xslt/TransformCustomer.xsl のように指定することができます。 あるいは、http://myserver.com/customerstylsheet.xslfile://c:/customerstylesheet.xsl のように、URL としてスタイルシートを指定することもできます。
注: 変換を正常に実行するには、スタイルシートをランタイム・システムに対して使用可能に設定する必要があります。
ルート
変換のルートを指定する XPath 1.0 式。 新規 XML マップを作成する場合、 //headers/context/body のいずれかのメッセージ・ルートを指定できます。/ は完全な SMO、/headers は SMO のヘッダー、/context は SMO のコンテキスト、/body は SMO の本体部分を表します。このプロパティーは、入力メッセージと変換されたメッセージの両方に使用されます。

ルートとして //headers、または /context を選択した場合、XML マッピング・エディターを使用して、すべての SMO セクションを明示的にマップする必要があります。そのようにしなければ、実行時にエラーが発生する可能性があります。SMO のヘッダーまたはコンテキスト・セクションの情報を何も変更する必要がない場合は、マッピングの開始点として /body を使用できます。

入力の妥当性検査
true の場合は、メディエーションの実行前に、入力メッセージの妥当性が実行時に検査されます。
表 1. XSL 変換メディエーション・プリミティブ・プロパティー
プロパティー 有効な値 デフォルト
マッピング・ファイル ストリング  
ルート ストリング: 変換のルートを表す XPath 式 /body
入力の妥当性検査 ブール値: true または false false

考慮事項

XSL 変換メディエーション・プリミティブを使用する場合は、以下を考慮する必要があります。


reference 参照トピック

ご利用条件 | フィードバック


タイム・スタンプ・アイコン 最終更新: 2010/07/05


http://publib.boulder.ibm.com/infocenter/dmndhelp/v6r2mx/topic//com.ibm.websphere.wesb620.zseries.doc/ref/rwesb_XSLTmediationprimitive.html
Copyright IBM Corporation 2005, 2010. All Rights Reserved.
このインフォメーション・センターでは Eclipse テクノロジーが採用されています (http://www.eclipse.org)。