メッセージ・ツリーは、ブローカーがメッセージ本体の内部表記を保管する論理メッセージ・ツリーの一部です。
メッセージ・ツリーのルートは Root と呼ばれています。 メッセージ・ツリーは常に表示され、メッセージ・フローの単一インスタンス内でノードからノードに渡されます。
メッセージ・ツリーには、メッセージ本体に加え、メッセージ内に表示されるすべてのヘッダーが含まれています。 また、プロパティー・サブツリーがパーサーによって作成された場合、ツリーにはプロパティー・サブツリー (パーサーで説明されている) も組み込まれています。 提供されているパーサーがメッセージ・ツリーを作成した場合、 プロパティー・サブツリーを表すエレメントの後には 0 個以上のヘッダーが続きます。
メッセージが WebSphere® MQ Enterprise Transport または WebSphere MQ Mobile Transport を経て受信された場合、最初のヘッダー (2 番目のエレメント) は MQMD でなければなりません。 メッセージ内に組み込まれるすべての追加のヘッダーは、メッセージ内の順序と同じ順序でツリー内に表示されます。 メッセージ・ツリーのルートの下の最後のエレメントは、必ずメッセージ本体です。
ユーザー定義のパーサーがメッセージ・ツリーを作成した場合、もしあれば、プロパティー・ツリーの後にメッセージ本体が続きます。
メッセージ・ツリー構造は、次のセクションに示されています。 入力メッセージが WebSphere MQ メッセージでない場合、表示されているヘッダーは存在しない場合があります。 このツリーを作成したパーサーがユーザー定義のパーサーである場合、 プロパティー・ツリーは存在しない場合があります。
本文ツリーとは、メッセージ内容 (データ) を表し、その内容の論理構造を反映している子エレメントの構造のことです。 本文ツリーは、パーサーに説明されているように、本文パーサー (提供されているパーサーまたはユーザー定義のパーサーのどちらか) によって作成されます。
解析されたツリー内の各エレメントは、以下の 3 つのタイプのうちいずれかです。
メッセージ・ツリーへの移植方法についての詳細は、メッセージ・ツリーの移植方法を参照してください。
「プロパティー」フォルダーは、メッセージ・ツリーの最初のエレメントであり、メッセージの特性に関する情報を保持します。
「プロパティー」フォルダーのルートは、Properties と呼ばれています。 それは Root の下の最初のエレメントです。 組み込みパーサーによって生成されるすべてのメッセージ・ツリーは、メッセージ用の「プロパティー」フォルダーを備えています。 ユーザー独自のユーザー定義パーサーを作成する場合には、パーサーが「プロパティー」フォルダーを作成するかどうかを選択することができます。 しかしながら、一貫性を考慮して、ユーザー定義パーサーにこのアクションを組み込む必要があります。
「プロパティー」フォルダーには、一連の標準プロパティーが入っており、これは他のプロパティーと同様にメッセージ・フロー・ノードで操作できます。 これらのフィールドの一部はサポートされている WebSphere MQ ヘッダー内のフィールドにマップされ (もし存在するなら)、メッセージが 1 つのノードから他のノードに送達されるときに適切なパーサーに渡されます。
例えば、MQRFH2 ヘッダーには、メッセージ・モデル、メッセージ名、およびメッセージの物理形式に関する情報が入っています。 これらの値は MessageSet、MessageType、および MessageFormat として「プロパティー」フォルダーに保管されます。 メッセージ処理ノードで ESQL または Java™ を使用してこれらの値にアクセスするには、派生元ヘッダー内のフィールドを直接参照するのではなく、「プロパティー」フォルダーの値を参照します。
プロパティー・パーサーは、各ノードへの入力と、各ノードからの出力について、ヘッダー・フィールドの値が、「プロパティー」フォルダーの値と一致するようにします。 どのフィールドでも、1 つのヘッダーのみ (プロパティー・ヘッダーまたは特定のメッセージ・ヘッダー) を変更すると、その値が使用されます。 プロパティー・ヘッダーと特定のメッセージ・ヘッダーの両方を変更すると、プロパティー・フォルダーの値が使用されます。
メッセージ・フロー処理が完了すると、「プロパティー」フォルダーは廃棄されます。