このトピックには、以下のセクションが含まれています。
メッセージを別のパーサーを使用して再び構文解析するよう要求するには、ResetContentDescriptor ノードを使用します。 新しいパーサーが MRM の場合は、別のメッセージ・テンプレート (メッセージ・セット、タイプ、および形式) も指定しなければなりません。 このノードはメッセージを再構文解析しませんが、このノードに設定するプロパティーが、メッセージが次に再構文解析される際の構文解析方法を決定します。
ノードは新しいパーサー情報を入力メッセージのビット・ストリームと関連付けます。 メッセージがすでに構文解析されてメッセージ・ツリーが作成されており、ツリーの内容が (例えば、Compute ノードにより) 変更されている場合、ResetContentDescriptor ノードはメッセージに関連した現行のパーサーを起動してメッセージを構文解析し、ビット・ストリームを再作成する必要があります。
ResetContentDescriptor ノードがメッセージを受け取る前にメッセージ・フローがメッセージを更新した場合、変更されたメッセージ内容が現行のパーサーにおいてまだ有効であることを確認する必要があります。 有効でないならば、パーサーがメッセージ・ツリーからビット・ストリームを再作成しようとするときにエラーが生成され、ResetContentDescriptor ノードは例外を出します。 例えば、MRM ドメイン内のメッセージに新しいフィールドを追加しても、そのフィールドがモデルに存在しない場合、ビット・ストリームの再作成は失敗します。
ResetContentDescriptor ノードについては、以下の点に注意してください。
ワークベンチでは、ResetContentDescriptor ノードは次のアイコンで表されます。
このノードの使用方法を示す例として、BLOB ドメインと MRM ドメイン間でスワップすると想定します。 メッセージ・フローを入力するときに着信メッセージの形式は知られていないので、BLOB パーサーが呼び出されます。 後ほど、メッセージ・フローで、メッセージが MRM ドメインで事前定義されているか判別し、メッセージ・フロー内の後続のノードがメッセージを解析する際に使用する正しい値を、ResetContentDescriptor ノードを使用して設定できます。
以下の表は、一般的な ResetContentDescriptor ノード・プロパティーを示しています。
プロパティー | 値 |
---|---|
メッセージ・ドメイン | MRM |
メッセージ・ドメインのリセット | 選択されている |
メッセージ・セット | DH53CU406U001 |
メッセージ・セットのリセット | 選択されている |
メッセージ・タイプ | m_MESSAGE1 |
メッセージ・タイプのリセット | 選択されている |
メッセージ形式 | CWF |
メッセージ形式のリセット | 選択されている |
「メッセージ・ドメイン」は MRM に設定され、メッセージが次回構文解析されるときに MRM パーサーが呼び出されます。 メッセージ・セット、タイプ、および形式は、メッセージ・モデルを定義するメッセージ・テンプレート値であり、すべてのプロパティーは変更する必要があるためにすべてのリセット・チェック・ボックスが選択されています。
ResetContentDescriptor ノードにより、入力メッセージに関連した BLOB パーサーはメッセージの物理ビット・ストリーム (メッセージの論理ツリー表記ではない) を構成し、このビット・ストリームは後で MRM パーサーに渡されます。 次に、MRM パーサーは、ResetContentDescriptor ノードで指定されているメッセージ・テンプレート (「メッセージ・セット」、「メッセージ・タイプ」、および「メッセージ形式」) を使用して、ビット・ストリームを構文解析します。
ResetContentDescriptor ノードのインスタンスをメッセージ・フローに入れると、ResetContentDescriptor ノードを構成することができます。 エディター・ビューでノードを右クリックし、「プロパティー」をクリックします。 ノードの基本プロパティーが表示されます。
値を入力する必要のある (デフォルト値が定義されていない) すべての必須プロパティーには、プロパティー・ダイアログにアスタリスクが表示されます。
以下のように ResetContentDescriptor ノードを構成します。
状況により、ユーザー定義のパーサーを指定することもできます。
「メッセージ・ドメインのリセット」チェック・ボックスを選択します。
これらのプロパティーは、ResetContentDescriptor ノードを通過するメッセージのメッセージ・ヘッダーに必要なドメイン、セット、タイプ、および形式を設定します。 ただし、この設定が行えるのは、該当するヘッダーがすでに存在する場合だけです。 メッセージに MQRFH2 ヘッダーがない場合、ノードはヘッダーを作成しません。
詳細については、メッセージの妥当性検査およびMRM ドメインのメッセージの妥当性検査プロパティーを参照してください。
「キャンセル」をクリックすると、ダイアログを閉じてプロパティーに対して行った変更をすべて破棄します。
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 ドメインに使用 | はい | 選択されていない | 「いいえ」 | ![]() ![]() |
混合内容保存モード | はい | いいえ | 「なし」 | このプロパティーは、XMLNSC パーサーが入力メッセージ内に混合テキストを検出したとき、メッセージ・ツリー内にエレメントを作成するかどうかを制御します。 有効な値は、「なし」および「すべて」です。「すべて」を選択すると、混合テキストに対してエレメントが作成されます。 「なし」を選択すると、混合テキストは無視されて、エレメントは作成されません。 |
コメント保存モード | はい | いいえ | 「なし」 | このプロパティーは、XMLNSC パーサーが入力メッセージ内にコメントを検出したとき、メッセージ・ツリー内にエレメントを作成するかどうかを制御します。 有効な値は、「なし」および「すべて」です。「すべて」を選択すると、コメントに対してエレメントが作成されます。 「なし」を選択すると、コメントは無視されて、エレメントは作成されません。 |
処理命令保存モード | はい | いいえ | 「なし」 | このプロパティーは、XMLNSC パーサーが入力メッセージ内に処理命令を検出したとき、これらのメッセージ・ツリー内にエレメントを作成するかどうかを制御します。 有効な値は、「なし」および「すべて」です。「すべて」を選択すると、処理命令に対してエレメントが作成されます。 「なし」を選択すると、処理命令は無視されて、エレメントは作成されません。 |
ResetContentDescriptor ノードの「説明」プロパティーについては、次の表に説明されています。
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
簡略説明 | いいえ | いいえ | ノードの簡単な説明 | |
詳細説明 | いいえ | いいえ | メッセージ・フロー内のノードの目的を説明するテキスト |