ResetContentDescriptor ノード

このトピックには、以下のセクションが含まれています。

目的

メッセージを別のパーサーを使用して再び構文解析するよう要求するには、ResetContentDescriptor ノードを使用します。 新しいパーサーが MRM の場合は、別のメッセージ・テンプレート (メッセージ・セット、タイプ、および形式) も指定しなければなりません。 このノードはメッセージを再構文解析しませんが、このノードに設定するプロパティーが、メッセージが次に再構文解析される際の構文解析方法を決定します。

ノードは新しいパーサー情報を入力メッセージのビット・ストリームと関連付けます。 メッセージがすでに構文解析されてメッセージ・ツリーが作成されており、ツリーの内容が (例えば、Compute ノードにより) 変更されている場合、ResetContentDescriptor ノードはメッセージに関連した現行のパーサーを起動してメッセージを構文解析し、ビット・ストリームを再作成する必要があります。

ResetContentDescriptor ノードがメッセージを受け取る前にメッセージ・フローがメッセージを更新した場合、変更されたメッセージ内容が現行のパーサーにおいてまだ有効であることを確認する必要があります。 有効でないならば、パーサーがメッセージ・ツリーからビット・ストリームを再作成しようとするときにエラーが生成され、ResetContentDescriptor ノードは例外を出します。 例えば、MRM ドメイン内のメッセージに新しいフィールドを追加しても、そのフィールドがモデルに存在しない場合、ビット・ストリームの再作成は失敗します。

ResetContentDescriptor ノードについては、以下の点に注意してください

  • メッセージ内容は変更されない。 変更されるのは、次回のパーサーの起動時にビット・ストリームを構文解析する方法を指定するメッセージ・プロパティーです。
  • メッセージの形式は変換されない。 例えば、着信メッセージの「メッセージ形式」が XML であり、発信メッセージの「メッセージ形式」が CWF であっても、ResetContentDescriptor ノードは再フォーマットを行いません。 パーサーが起動され、メッセージ内に XML タグを保存する着信 XML メッセージのビット・ストリームが再作成されます。 メッセージが後続のノードにより再構文解析されるときには、XML タグは無効となり再構文解析は失敗します。

ワークベンチでは、ResetContentDescriptor ノードは次のアイコンで表されます。

ResetContentDescriptor ノード・アイコン

メッセージ・フロー内でのこのノードの使用

このノードの使用方法を示す例として、BLOB ドメインと MRM ドメイン間でスワップすると想定します。 メッセージ・フローを入力するときに着信メッセージの形式は知られていないので、BLOB パーサーが呼び出されます。 後ほど、メッセージ・フローで、メッセージが MRM ドメインで事前定義されているか判別し、メッセージ・フロー内の後続のノードがメッセージを解析する際に使用する正しい値を、ResetContentDescriptor ノードを使用して設定できます。

以下の表は、一般的な ResetContentDescriptor ノード・プロパティーを示しています。

プロパティー
メッセージ・ドメイン MRM
メッセージ・ドメインのリセット 選択されている
メッセージ・セット DH53CU406U001
メッセージ・セットのリセット 選択されている
メッセージ・タイプ m_MESSAGE1
メッセージ・タイプのリセット 選択されている
メッセージ形式 CWF
メッセージ形式のリセット 選択されている

「メッセージ・ドメイン」は MRM に設定され、メッセージが次回構文解析されるときに MRM パーサーが呼び出されます。 メッセージ・セット、タイプ、および形式は、メッセージ・モデルを定義するメッセージ・テンプレート値であり、すべてのプロパティーは変更する必要があるためにすべてのリセット・チェック・ボックスが選択されています。

ResetContentDescriptor ノードにより、入力メッセージに関連した BLOB パーサーはメッセージの物理ビット・ストリーム (メッセージの論理ツリー表記ではない) を構成し、このビット・ストリームは後で MRM パーサーに渡されます。 次に、MRM パーサーは、ResetContentDescriptor ノードで指定されているメッセージ・テンプレート (「メッセージ・セット」、「メッセージ・タイプ」、および「メッセージ形式」) を使用して、ビット・ストリームを構文解析します。

ResetContentDescriptor ノードの構成

ResetContentDescriptor ノードのインスタンスをメッセージ・フローに入れると、ResetContentDescriptor ノードを構成することができます。 エディター・ビューでノードを右クリックし、「プロパティー」をクリックします。 ノードの基本プロパティーが表示されます。

値を入力する必要のある (デフォルト値が定義されていない) すべての必須プロパティーには、プロパティー・ダイアログにアスタリスクが表示されます。

以下のように ResetContentDescriptor ノードを構成します。

  1. 異なるパーサーをメッセージと関連付けたい場合、「メッセージ・ドメイン」に新しいドメインを以下から指定します。
    • MRM
    • XML
    • JMSMap
    • JMSStream
    • MIME
    • BLOB

    状況により、ユーザー定義のパーサーを指定することもできます。

    メッセージ・ドメインのリセット」チェック・ボックスを選択します。

  2. MRM パーサーがメッセージを再構文解析する場合、入力メッセージと関連付けられるモデルの他のプロパティーを指定し、それぞれのフィールドの下にある「リセット...」チェック・ボックスを選択します。 MRM パーサーがすでに入力メッセージと関連付けられている場合、変更するプロパティーのみを指定する必要があります。
    1. メッセージ・セット」にメッセージ・セットを入力します。 使用可能なメッセージ・セットのドロップダウン・リストから値を選択します (メッセージ・セットの名前と ID が表示されます)。
    2. メッセージ・タイプ」にメッセージの ID を入力します。 この ID は、エディター・ビューのメッセージのプロパティーにあります。 メッセージ ID は、メッセージの作成時に指定したものです。 メッセージ・プロパティーに示されているとおりに ID を入力してください。
    3. メッセージ形式」にメッセージの形式を入力します。 これは MRM パーサーのワイヤー形式を指定します。 ドロップダウン・リストからいずれかの形式を選択できます (ドロップダウン・リストには、前に指定したメッセージ・セットで定義されている形式の ID がリストされています)。

    これらのプロパティーは、ResetContentDescriptor ノードを通過するメッセージのメッセージ・ヘッダーに必要なドメイン、セット、タイプ、および形式を設定します。 ただし、この設定が行えるのは、該当するヘッダーがすでに存在する場合だけです。 メッセージに MQRFH2 ヘッダーがない場合、ノードはヘッダーを作成しません。

  3. XML、JMS、MIME、または BLOB パーサーを指定した場合は、「メッセージ・セット」、「メッセージ・タイプ」および「メッセージ形式」をブランクのままにしてください。
  4. MRM パーサーの場合、メッセージ・セットから生成されたディクショナリーに対してメッセージ本体の妥当性検査を行いたいのであれば、プロパティー・ダイアログ・ナビゲーターの「妥当性検査」を選択します。 (メッセージがターミナルの failure ノードに伝搬される場合には、妥当性検査は行われません。)

    詳細については、メッセージの妥当性検査およびMRM ドメインのメッセージの妥当性検査プロパティーを参照してください。

  5. 簡略説明または詳細説明 (あるいはその両方) を入力するには、プロパティー・ダイアログ・ナビゲーターの「説明」を選択します。
  6. 「適用」をクリックすると、プロパティー・ダイアログを閉じずに ResetContentDescriptor ノードが変更されます。 「OK」をクリックすると、変更を適用してプロパティー・ダイアログを閉じます。

    「キャンセル」をクリックすると、ダイアログを閉じてプロパティーに対して行った変更をすべて破棄します。

ターミナルおよびプロパティー

ResetContentDescriptor ノードのターミナルについては、次の表に説明されています。

ターミナル 説明
In ノードが処理するメッセージを受け入れる入力ターミナル。
Failure ノードによりエラーが検出された場合に、メッセージがルーティングされる出力ターミナル。
Out 新しいパーサーがプロパティーにより示される場合、メッセージがルーティングされる出力ターミナル。

以下の表でノードのプロパティーを説明します。M の見出しの列は、プロパティーが必須 かどうかを示します (デフォルトが定義されていない場合に値を入力することが必要なら、プロパティー・ダイアログにアスタリスクのマークが付きます)。 C の見出しの列は、プロパティーが構成可能 かどうかを示します (メッセージ・フローを bar ファイルに追加してデプロイするとき、値を変更できます)。

ResetContentDescriptor ノードの「基本」プロパティーについては、次の表に説明されています。

プロパティー M C デフォルト 説明
メッセージ・ドメイン いいえ いいえ   再構文解析したいメッセージと関連付けられたメッセージ・ドメイン。
メッセージ・ドメインのリセット はい いいえ 選択されていない メッセージ・ドメインをリセットするかどうか。 チェック・ボックスを選択すると、このアクションが実行されます。
メッセージ・セット いいえ いいえ   再構文解析したいメッセージと関連付けられたメッセージ・セット。
メッセージ・セットのリセット はい いいえ 選択されていない メッセージ・セットをリセットするかどうか。 チェック・ボックスを選択すると、このアクションが実行されます。
メッセージ・タイプ いいえ いいえ   再構文解析したいメッセージと関連付けられたメッセージ・タイプ。
メッセージ・タイプのリセット はい いいえ 選択されていない メッセージ・タイプをリセットするかどうか。 チェック・ボックスを選択すると、このアクションが実行されます。
メッセージ形式 いいえ いいえ   再構文解析したいメッセージと関連付けられたメッセージ形式。
メッセージ形式のリセット はい いいえ 選択されていない メッセージ形式をリセットするかどうか。 チェック・ボックスを選択すると、このアクションが実行されます。

ResetContentDescriptor ノードの妥当性検査プロパティーについては、次の表に説明されています。 これらのプロパティーの詳細については、MRM ドメインのメッセージの妥当性検査プロパティーを参照してください。

プロパティー M C デフォルト 説明
妥当性検査 はい はい 「なし」 妥当性検査が行われるかどうか。 有効な値は、「なし」「内容」「内容と値」、および「継承」です。
失敗処置 はい いいえ 例外 妥当性検査に障害が発生した場合の動作。 「妥当性検査」を「内容と値」または「内容」に設定した場合にのみ、このプロパティーを設定できます。 有効な値は、「ユーザー・トレース」「ローカル・エラー・ログ」「例外」、および「例外リスト」です。
すべての値制約を含める はい いいえ 選択されている このプロパティーは編集できません。 チェック・ボックスが選択されていることにより示されるデフォルトのアクションは、基本値制約検査が「内容と値」妥当性検査に含まれるということです。
修正 はい いいえ 「なし」 このプロパティーは編集できません。 有効な値は、「なし」、および「フル」です。

ResetContentDescriptor ノードの汎用メッセージ・オプションのプロパティーについては、次の表に説明されています。

プロパティー M C デフォルト 説明
構文解析のタイミング はい いいえ 要求時 このプロパティーは、入力メッセージを構文解析する時を制御します。 有効な値は、「要求時」「即時」、および「完全」です。

このプロパティーの詳細については、要求時の構文解析を参照してください。

MQRFH2C コンパクト・パーサーを MQRFH2 ドメインに使用 いいえ いいえ 「False」 このプロパティーは、MQRFH2 パーサーの代わりに、MQRFH2C コンパクト・パーサーを MQRFH2 ヘッダーに使用するかどうかを制御します。

ResetContentDescriptor ノードの XMLNSC パーサー・オプションについては、次の表に説明されています。

プロパティー M C デフォルト 説明
XMLNSC コンパクト・パーサーを XMLNS ドメインに使用 はい 選択されていない 「いいえ」 変更の始まりこのプロパティーは、XMLNS ドメイン内のメッセージに XMLNSC コンパクト・パーサーを使用するかどうかを制御します。このプロパティーを設定すると、入力 RFH2 ヘッダーまたはデフォルト・プロパティー・ドメインが XMLNS の場合、出力ターミナルに接続されているノードの XMLNSC の下にメッセージ・データが表示されることに注意してください。変更の終わり
混合内容保存モード はい いいえ 「なし」 このプロパティーは、XMLNSC パーサーが入力メッセージ内に混合テキストを検出したとき、メッセージ・ツリー内にエレメントを作成するかどうかを制御します。 有効な値は、「なし」および「すべて」です。「すべて」を選択すると、混合テキストに対してエレメントが作成されます。 「なし」を選択すると、混合テキストは無視されて、エレメントは作成されません。
コメント保存モード はい いいえ 「なし」 このプロパティーは、XMLNSC パーサーが入力メッセージ内にコメントを検出したとき、メッセージ・ツリー内にエレメントを作成するかどうかを制御します。 有効な値は、「なし」および「すべて」です。「すべて」を選択すると、コメントに対してエレメントが作成されます。 「なし」を選択すると、コメントは無視されて、エレメントは作成されません。
処理命令保存モード はい いいえ 「なし」 このプロパティーは、XMLNSC パーサーが入力メッセージ内に処理命令を検出したとき、これらのメッセージ・ツリー内にエレメントを作成するかどうかを制御します。 有効な値は、「なし」および「すべて」です。「すべて」を選択すると、処理命令に対してエレメントが作成されます。 「なし」を選択すると、処理命令は無視されて、エレメントは作成されません。

ResetContentDescriptor ノードの「説明」プロパティーについては、次の表に説明されています。

プロパティー M C デフォルト 説明
簡略説明 いいえ いいえ   ノードの簡単な説明
詳細説明 いいえ いいえ   メッセージ・フロー内のノードの目的を説明するテキスト
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック
Copyright IBM Corporation 1999, 2006 最終更新: 08/21/2006
ac04810_