Mapping ノードは、1 つ以上の新しいメッセージを作成し、さまざまなタイプの情報をそこに取り込むために使用します。
このトピックには、以下のセクションが含まれています。
ノードのメッセージ・マップを最初に開くかまたは作成するときに、「このマップがメッセージ・フロー・ノードから呼び出され、プロパティーおよびメッセージ本体をマップする」を選択すると、入力メッセージ内のヘッダーは、常に変更されずに出力メッセージにコピーされます。 Mapping ノードでメッセージ・ヘッダーを変更する場合は、 「このマップがメッセージ・フロー・ノードから呼び出され、プロパティー、ヘッダー、およびメッセージ本体をマップする」を選択します。 このプロパティーを選択すると、作成されるマップにより、WebSphere MQ、HTTP、および JMS ヘッダーを含む追加のエレメントをマップできます。
これらの出力メッセージのコンポーネントは、出力メッセージおよび外部データベースからの入力メッセージおよびデータの両方のエレメントに基づくマッピングを使用して定義することができます。 入力 (メッセージまたはデータベース) を出力にマッピングして、このノードに関連付けられたマッピング・ファイルに、このノードに関連付けられたマッピングを作成します。 提供されたまたはユーザー定義の関数およびプロシージャーを使用して、これらのマッピングによって作成された割り当てを変更することができます。 例えば、ストリング値をメッセージ出力フィールドに割り当てるときに、そのストリング値を英大文字に変換できます。
以下の目的で、Mapping ノードを使用します。
Mapping ノードはパレットの「変換」ドロワーに含まれていて、ワークベンチ内では次のアイコンによって表されます。
サンプルは、Message Brokers Toolkit と統合されているインフォメーション・センターを使用する場合にのみ表示できます。
Mapping ノードのインスタンスをメッセージ・フローに入れると、それを構成することができます。メッセージ・フロー・ノードの構成を参照してください。 ノードのプロパティーが、「プロパティー」ビューに表示されます。ノードのプロパティーを「プロパティー」ダイアログに表示するには、ノードを右クリックしてから「プロパティー」をクリックします。 (Mapping ノードをダブルクリックすると、 「新規メッセージ・マップ」ダイアログ・ボックスが開きます。) 値を入力する必要のある (デフォルト値が定義されていない) すべての必須プロパティーには、アスタリスクが表示されます。
Mapping ノードのターミナルについては、次の表に説明されています。
ターミナル | 説明 |
---|---|
In | ノードが処理するメッセージを受け入れる入力ターミナル。 |
Failure | 計算時に障害が検出された場合、入力メッセージが伝搬される出力ターミナル。 「警告をエラーとして扱う」を選択した場合、処理が正常に完了しても、 データベース警告メッセージが戻された場合にメッセージはノードからこのターミナルに伝搬されます。 |
Out | マッピングの実行後にメッセージを出力する出力ターミナル。 |
以下の表は、ノード・プロパティーについて説明しています。 M の見出しの列は、プロパティーが必須 かどうかを示します (デフォルトが定義されていない場合に値を入力することが必要なら、アスタリスクのマークが付きます)。 C の見出しの列は、プロパティーが構成可能 かどうかを示します (メッセージ・フローを BAR ファイルに追加してデプロイするとき、値を変更できます)。
Mapping ノードの「説明」プロパティーについては、次の表に説明されています。
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
ノード名 | いいえ | いいえ | ノード・タイプ | ノードの名前。 |
簡略説明 | いいえ | いいえ | ノードの簡単な説明 | |
詳細説明 | いいえ | いいえ | メッセージ・フロー内のノードの目的を説明するテキスト |
Mapping ノードの「基本」プロパティーについては、次の表に説明されています。
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
データ・ソース | いいえ | はい | このノードに関連付けられたマッピング (「マッピング・モジュール」プロパティーで識別される) で参照する表を格納しているデータベースの ODBC データ・ソース名。この名前は、このメッセージ・フローが実行されるシステム上で該当するデータベースを識別します。
ブローカーは、mqsicreatebroker、mqsichangebroker、または mqsisetdbparms コマンドを使用してセットアップしたユーザー ID およびパスワード情報を使用して、このデータベースに接続します。
|
|
トランザクション | はい | いいえ | 自動 | ノードのトランザクション・モードです。値は以下のとおりです。
|
マッピング・ルーチン | はい | いいえ | マッピング | データベースまたはメッセージ・ツリーに対して実行されるステートメントが含まれるマッピング・ルーチンの名前。
デフォルトでは、マッピング・ルーチンに割り当てられる名前は、ルーチンが定義されているマッピング・ファイルの名前と同一です。
ファイルのデフォルト名は、メッセージ・フローの名前にメッセージ・フローに組み込む際のノードの名前を連結したものです (例えば、メッセージ・フロー MFlow1 の最初の Mapping ノードの場合は、MFlow1_Mapping.msgmap)。
スペースを含む値は指定できません。
この入力フィールドの隣の「参照」をクリックすると、このノードがアクセスできるすべての選択可能なマッピング・ルーチンをリストしたダイアログ・ボックスが表示されます。 必要なルーチンを選択し、「OK」をクリックします。ルーチン名が「マッピング・モジュール」に設定されます。 このノードに関連するマッピング・ルーチンを処理するには、ノードをダブルクリックするか、またはノードを右クリックして「マッピングを開く」をクリックします。 マッピング・ルーチンが存在しない場合は、デフォルト名で、デフォルト・ファイルの中に作成されます。 このファイルがすでに存在する場合には、「ブローカー開発」ビューで <flow_name>_<node_name>.msgmap ファイルを開くこともできます。 マッピング・ルーチンは、関連するノードのタイプに特有のものです。 Mapping ノード用に開発したマッピング・ルーチンを、 マッピングを使用する他のノード (DataInsert ノードなど) と一緒に使用することはできません。 マッピング・ルーチンを作成した場合、それを他のマッピング・ルーチンから呼び出すことはできません。 ただし、ESQL ルーチンから呼び出すことは可能です。 マッピング・ファイルでの作業とその内容の定義について詳しくは、メッセージ・マッピングの開発を参照してください。 |
マッピング・モード | はい | いいえ | メッセージ | Mapping ノードを経由して渡される情報を処理するために使用するモード。
有効な値は以下のとおりです。
このプロパティーは、必要な出力メッセージ形式を正しく反映するように設定する必要があります。メッセージの特定のコンポーネントを含んでいないオプションを選択した (またはデフォルト値を受け入れた) 場合、そのコンポーネントは、構成される出力メッセージに組み込まれません。 「メッセージ」、「LocalEnvironment」、 および「例外」コンポーネントのさまざまな組み合わせを選択することができ、 Mapping ノードで生成および変更できます。 複数のターゲット・メッセージを伝搬するマップを構成する場合、このプロパティーを 「LocalEnvironment とメッセージ」に設定して、ノードが正しく実行されるようにします。 LocalEnvironment は、以前のいくつかのバージョンでは DestinationList として知られていました。それは互換性のために保存されています。 メッセージ・ツリーの「環境」コンポーネントは、モード設定に影響されません。 これに内容がある場合、その内容はこのノードから受け渡されます。 |
警告をエラーとして扱う | はい | いいえ | 選択されていない | データベース警告メッセージをエラーとして扱い、ノードから出力メッセージを Failure ターミナルに伝搬する場合は、「警告をエラーとして扱う」を選択します。
最初、このチェック・ボックスはチェックされていません。
このチェック・ボックスを選択した場合、ノードはデータベースからのすべての正の戻りコードをエラーとして扱い、負の戻りコードに対する処理と同じ方法で例外を生成するか、問題がより重大である場合はエラーを生成します。 このチェック・ボックスを選択しなかった場合、ノードは警告を通常の戻りコードとして扱い、例外を生成しません。 生成される最も重大な警告は「見つかりません」であり、これはほとんどの環境で正常な戻りコードとして支障なく扱うことができます。 |
データベース・エラーで例外をスローする | はい | いいえ | 選択されている | データベース・エラーが検出されたときにブローカーが例外を生成するように設定する場合は、「データベース・エラーで例外をスローする」を選択します。 最初、このチェック・ボックスは選択されています。 このチェック・ボックスのチェックを外した場合には、ブローカーとデータベースの整合性を保つため、メッセージ・フロー内でエラーを処理する必要があります。 ブローカーによるデフォルト・エラー処理を呼び出さないように選択してあるため、自分でエラーを処理しない限り、エラーは無視されます。 例えば、エラー処理サブルーチンに Failure ターミナルを接続できます。 |
Mapping ノードのパーサー・オプションについては、次の表に説明されています。
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
構文解析のタイミング | いいえ | いいえ | 要求時 | このプロパティーは、入力メッセージを構文解析する時を制御します。
有効な値は、「要求時」、「即時」、
および「完全」です。
このプロパティーに関する詳しい説明については、要求時の構文解析を参照してください。 「解析のタイミング」は、デフォルトで「要求時」に設定されます。これにより、部分構文解析によって構文解析されるまで、妥当性検査が遅延します。 この値を「即時」に変更すると、 部分構文解析はオーバーライドされて、メッセージ内のすべてのものが構文解析および妥当性検査されます。 ただし、構成が「選択」または「メッセージ」に指定された複合タイプで、この時点で解決できないものは除きます。 この値を「完全」に変更すると、 部分構文解析はオーバーライドされて、メッセージ内のすべてのものが構文解析および妥当性検査されます。 構成が「選択」または「メッセージ」に指定された複合タイプで、この時点で解決できないものでは妥当性検査障害が生じます。 |
XMLNSC コンパクト・パーサーを XMLNS ドメインに使用 | いいえ | いいえ | 選択されていない | このチェック・ボックスを選択すると、出力 MQRFH2 は XMLNSC パーサーではなく XMLNS パーサーを指定して、外部アプリケーションが変更されないようにします。出力メッセージに MQRFH2 ヘッダーが含まれていない場合は、このプロパティーは影響しません。 |
混合内容の保存 | いいえ | いいえ | 選択されていない | このプロパティーは、XMLNSC パーサーが入力メッセージ内に混合テキストを検出したとき、メッセージ・ツリー内にエレメントを作成するかどうかを制御します。 チェック・ボックスを選択すると、混合テキスト用のエレメントが作成されます。 このチェック・ボックスのチェックを外した場合、混合テキストは無視されて、エレメントは作成されません。 |
コメントの保存 | いいえ | いいえ | 選択されていない | このプロパティーは、XMLNSC パーサーが入力メッセージ内にコメントを検出したとき、メッセージ・ツリー内にエレメントを作成するかどうかを制御します。 チェック・ボックスを選択すると、コメント用のエレメントが作成されます。 このチェック・ボックスのチェックを外した場合、コメントは無視されて、エレメントは作成されません。 |
処理命令の保存 | いいえ | いいえ | 選択されていない | このプロパティーは、XMLNSC パーサーが入力メッセージ内に処理命令を検出したとき、これらのメッセージ・ツリー内にエレメントを作成するかどうかを制御します。 チェック・ボックスを選択すると、処理命令用のエレメントが作成されます。 このチェック・ボックスのチェックを外した場合、処理命令は無視されて、エレメントは作成されません。 |
Mapping ノードの「妥当性検査」プロパティーについては、 次の表に説明されています。
メッセージがノードの Failure ターミナルに伝搬される場合には、妥当性検査は行われません。 これらのプロパティーによって、入力メッセージの妥当性検査は行われません。 そのような妥当性検査が必要な場合には、入力ノードまたは先行する validation ノードによって妥当性検査がすでに行われていることが期待されます。 メッセージの妥当性検査および妥当性検査プロパティーに関する詳細については、メッセージの妥当性検査および妥当性検査プロパティーを参照してください。
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
妥当性検査 | いいえ | はい | なし | このプロパティーは、妥当性検査を行うかどうかを制御します。 有効な値は、「なし」、「内容と値」、 「内容」、および「継承」です。 |
失敗時の処置 | いいえ | いいえ | 例外 | このプロパティーは、妥当性検査で障害が発生した場合の動作を制御します。 「妥当性検査」が「内容」または「内容と値」に設定されている場合にのみ、このプロパティーを設定できます。有効な値は、「ユーザー・トレース」、「ローカル・エラー・ログ」、「例外」、および「例外リスト」です。 |
すべての値制約を含める | いいえ | いいえ | 選択されている | このプロパティーは編集できません。 チェック・ボックスが選択されると (デフォルト)、すべての値制約が妥当性検査に含まれます。 |
修正 | いいえ | いいえ | なし | このプロパティーは編集できません。 最小限の修正が行われます。 有効な値は、「なし」および「フル」です。 |