ノードの中には、メッセージ・フローの途中でデータをフェッチし、結果データを入力メッセージとマージして、着信メッセージのセクションを補強または上書きできるものがあります。
以下のノードは、メッセージ・フローの途中でデータをフェッチして、結果を入力メッセージにマージできます。
このいずれかのノードをメッセージ・フローの途中で使用すると、外部リソースからデータをフェッチできます。 結果データは、「出力データのロケーション」プロパティーおよび「結果データのロケーション」プロパティー (ノードに存在する場合) の値に従って入力メッセージにマージされます。
入力ルートが最初に出力ルートにコピーされた後、「出力データのロケーション」で指定された出力ツリー上の場所に結果データがコピーされます。 デフォルト値は $OutputRoot で、これはコピーされたメッセージ・ツリーを結果データで置き換え、入力メッセージの伝搬をまったく行いません。
「結果データのロケーション」(ノードに存在する場合) のデフォルト値は $ResultRoot で、これは結果メッセージ全体を出力データ・ロケーションにコピーします。 $ResultRoot の下の値を指定した場合、結果メッセージの中の指定されたサブツリーが出力ツリーに挿入されます。
以下の例では JMSReceive ノードを使用し、「出力データのロケーション」および「結果データのロケーション」にさまざまな値を指定した場合の効果を示しています。
これらの値はデフォルト値であり、入力メッセージは結果メッセージで上書きされます。
入力メッセージ・ツリーが示されています。 上書き対象としてルート・エレメントが選択されています。
結果メッセージ・ツリーが示されています。 挿入の対象としてルート・エレメントが選択されています。
出力メッセージ・ツリーが示されています。 出力ルートが結果ルート・ツリーによって置き換えられています。
入力ルートが出力ルートにコピーされた後、結果メッセージのヘッダーによってヘッダーが上書きされます。
入力メッセージ・ツリーでは、上書き対象として JMSTransport サブツリーが選択されています。
結果メッセージ・ツリーでは、挿入の対象として JMSTransport サブツリーが選択されています。
出力メッセージ・ツリーでは、出力 JMSTransport サブツリーが結果 JMSTransport サブツリーによって置き換えられます。
入力ルートが出力ルートにコピーされた後、結果メッセージの本体によってメッセージ本体が上書きされます。
入力メッセージ・ツリーでは、上書き対象として XMLNSC エレメントが選択されています。
結果メッセージ・ツリーでは、挿入の対象として XMLNSC エレメントが選択されています。
出力メッセージ・ツリーでは、XMLNSC エレメントが結果 XMLNSC エレメントによって置き換えられています。
入力ルートが出力ルートにコピーされた後、結果メッセージの Operation サブツリーが出力ツリーの request エレメントの下に挿入されます。 入力メッセージ・ツリーには Operation エレメントが含まれませんが、その場所は「出力データのロケーション」値によって決定されます。
入力メッセージ・ツリーでは、書き込まれる場所が選択されています。 この場所はまだ存在しません。
結果メッセージ・ツリーでは、挿入の対象として Operation エレメントが選択されています。
出力メッセージ・ツリーでは、結果メッセージ・ツリーの Operation エレメントが既存の request エレメントの下に挿入されます。