Mapping ノードは、1 つ以上の新しいメッセージを作成し、さまざまなタイプの情報をそこに取り込むために使用します。
このトピックには、以下のセクションが含まれています。
メッセージ本体データのエレメント、ローカル環境ツリー、およびプロパティー・フォルダーを変更できます。
Mapping ノードは、入力メッセージの ExceptionList ツリーを変更しない状態でパススルーします。
ノードにメッセージ・マップを作成する場合、マップには、入出力としてメッセージとデータベース表を含めることができます。 プロパティーをマップでき、オプションとしてヘッダー (WebSphere® MQ、HTTP、および JMS のヘッダー) および LocalEnvironment もマップ可能です。
これらの出力メッセージのコンポーネントは、出力メッセージおよび外部データベースからの入力メッセージおよびデータの両方のエレメントに基づくマッピングを使用して定義することができます。 入力 (メッセージまたはデータベース) を出力にマッピングして、このノードに関連付けられたマッピング・ファイルに、このノードに関連付けられたマッピングを作成します。 提供されたまたはユーザー定義の関数およびプロシージャーを使用して、これらのマッピングによって作成された割り当てを変更することができます。 例えば、ストリング値をメッセージ出力フィールドに割り当てるときに、そのストリング値を英大文字に変換できます。
以下の目的で、Mapping ノードを使用します。
SET OutputLocalEnvironment.Mapping.MappingRoutine =
'{http://www.ibm.com/mimapper}:mapper_po';
Mapping ノードはパレットの「変換」ドロワーに含まれていて、WebSphere Message Broker Toolkit 内では次のアイコンによって表されます。
サンプルに関する情報は、WebSphere Message Broker Toolkit に統合されているインフォメーション・センター、またはオンライン・インフォメーション・センターを使用する場合にのみ表示できます。 サンプルは、WebSphere Message Broker Toolkit に統合されているインフォメーション・センターを使用する場合にのみ実行できます。
Mapping ノードのインスタンスをメッセージ・フローに入れると、それを構成することができます。メッセージ・フロー・ノードの構成を参照してください。 ノードのプロパティーが、「プロパティー」ビューに表示されます。 値を入力する必要のある (デフォルト値が定義されていない) すべての必須プロパティーには、アスタリスクが表示されます。
Mapping ノードのターミナルについては、次の表に説明されています。
ターミナル | 説明 |
---|---|
In | ノードが処理するメッセージを受け入れる入力ターミナル。 |
Failure | 計算時に障害が検出された場合、入力メッセージが伝搬される出力ターミナル。 「警告をエラーとして扱う」を選択した場合、処理が正常に完了しても、 データベース警告メッセージが戻された場合にメッセージはノードからこのターミナルに伝搬されます。 |
Out | マッピングの完了後にメッセージを伝搬する出力ターミナル。 |
以下の表は、ノード・プロパティーについて説明しています。 M の見出しの列は、プロパティーが必須 かどうかを示します (デフォルトが定義されていない場合に値を入力することが必要なら、アスタリスクのマークが付きます)。 C の見出しの列は、プロパティーが構成可能 (メッセージ・フローを BAR ファイルに追加してデプロイするとき、値を変更できる) かどうかを示します。
Mapping ノードの「説明」プロパティーについては、次の表に説明されています。
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
ノード名 | いいえ | いいえ | ノード・タイプ | ノードの名前。 |
簡略説明 | いいえ | いいえ | ノードの簡単な説明 | |
詳細説明 | いいえ | いいえ | メッセージ・フロー内のノードの目的を説明するテキスト |
Mapping ノードの「基本」プロパティーについては、次の表に説明されています。
プロパティー | M | C | デフォルト | 説明 | mqsiapplybaroverride コマンド・プロパティー |
---|---|---|---|---|---|
トランザクション | はい | いいえ | 自動 | ノードのトランザクション・モードです。 ノードでサポートされる値は、「自動」です。 Mapping ノードが属するメッセージ・フローが正常に行われると、 そのメッセージ・フローがコミットされます。 つまり、マッピングで定義したアクションが実行され、メッセージはメッセージ・フローを通して継続します。 メッセージ・フローは、失敗するとロールバックされます。 「自動」を選択した場合、 データベース上で Mapping ノードのアクションをコミットするかロールバックするかは、 メッセージ・フロー全体の成功または失敗に依存します。 |
|
マッピング・ルーチン | はい | いいえ | マッピング | データベースまたはメッセージ・ツリーに対して実行されるステートメントが含まれるマッピング・ルーチンの名前。
デフォルトでは、マッピング・ルーチンに割り当てられる名前は、次のとおりです。 {default_broker_schema}:default_map_file name with no extension default_broker_schema はメッセージ・フロー・ファイルがあるブローカー・スキーマで、default_map_file_name_with_no_extension はメッセージ・フローの名前とマッピング・ノードを連結した名前です。 例えば、{your.broker.schema}:yourFlowName1_yourNodeName1 などです。 スペースを含む値は指定できません。この入力フィールドの隣の「参照」をクリックすると、このノードがアクセスできるすべての選択可能なマッピング・ルーチンをリストしたダイアログ・ボックスが表示されます。 必要なルーチンを選択し、「OK」をクリックします。ルーチン名が、「マッピング・ルーチン」プロパティーに設定されます。このプロパティーを動的に指定変更するいは、ローカル環境でマッピング経路を設定します。グラフィカル・データ・マップの動的選択を参照してください。 このノードに関連するマッピング・ルーチンを処理するには、ノードをダブルクリックするか、またはノードを右クリックして「マップを開く」をクリックします。 マッピング・ルーチンが存在しない場合、「新規メッセージ・マップ」ウィザードが一部のデフォルト値が入力された状態で開きます。 マッピング・ルーチンが既に存在する場合には、グラフィカル・マッピング・エディターで開かれます。 また、「ブローカー開発」ビューでマッピング・ルーチンを開き、マッピング・ルーチンをダブルクリックしてグラフィカル・マッピング・エディターでルーチンを開くこともできます。 マッピング・ルーチンを作成した場合、それを他のマッピング・ルーチンから呼び出すことはできません。 ただし、ESQL ルーチンから呼び出すことは可能です。 マッピング・ファイルでの作業とその内容の定義について詳しくは、グラフィカル・データ・マップの使用を参照してください。 |
出力メッセージの Mapping ノードにある「妥当性検査」プロパティーを 構成できます。 このプロパティーは、メッセージがシリアライズ対象となったとき、つまり、メッセージを示す論理ツリーが物理的なビット・ストリーム形式に形式設定されたときに有効になります。
これらのプロパティーによって、入力メッセージの妥当性検査は行われません。 そのような妥当性検査が必要な場合には、入力ノードまたは先行する validation ノードによって妥当性検査がすでに行われていることが期待されます。 メッセージの妥当性検査および妥当性検査プロパティーに関する詳細については、メッセージの妥当性検査および妥当性検査プロパティーを参照してください。
Mapping ノードの「妥当性検査」プロパティーについては、次の表に説明されています。
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
妥当性検査 | いいえ | はい | なし | このプロパティーは、妥当性検査を行うかどうかを制御します。 有効な値は、「なし」、「内容と値」、「内容」、および「継承」です。 |
失敗時の処置 | いいえ | いいえ | 例外 | このプロパティーは、妥当性検査で障害が発生した場合の動作を制御します。 「妥当性検査」が「内容」または「内容と値」に設定されている場合にのみ、このプロパティーを設定できます。 有効な値は、「ユーザー・トレース」、「ローカル・エラー・ログ」、「例外」、および「例外リスト」です。 |
メッセージがノードの Failure ターミナルに伝搬される場合には、妥当性検査は行われません。