このトピックには、以下のセクションが含まれています。
メッセージを別のパーサーを使用して再び構文解析するよう要求するには、ResetContentDescriptor ノードを使用します。 新しいパーサーが MRM の場合は、別のメッセージ・テンプレート (メッセージ・セット、タイプ、および形式) も指定しなければなりません。 このノードはメッセージを再構文解析しませんが、このノードに設定するプロパティーが、メッセージが次に再構文解析される際の構文解析方法を決定します。
ノードは新しいパーサー情報を入力メッセージのビット・ストリームと関連付けます。 メッセージがすでに構文解析されてメッセージ・ツリーが作成されており、ツリーの内容が (たとえば、Compute ノードにより) 変更されている場合、ResetContentDescriptor ノードはメッセージに関連した現行のパーサーを起動してメッセージを構文解析し、ビット・ストリームを再作成する必要があります。
ResetContentDescriptor ノードがメッセージを受け取る前にメッセージ・フローがメッセージを更新した場合、変更されたメッセージ内容が現行のパーサーにおいてまだ有効であることを確認する必要があります。 有効でないならば、パーサーがメッセージ・ツリーからビット・ストリームを再作成しようとするときにエラーが生成され、ResetContentDescriptor ノードは例外を出します。 たとえば、MRM ドメイン内のメッセージに新しいフィールドを追加しても、そのフィールドがモデルに存在しない場合、ビット・ストリームの再作成は失敗します。
ResetContentDescriptor ノードについては、以下の点に注意してください。
ワークベンチでは、ResetContentDescriptor ノードは次のアイコンで表されます。
このノードの使用方法を示す例として、BLOB ドメインと MRM ドメイン間でスワップすると想定します。 メッセージ・フローを入力するときに着信メッセージの形式は知られていないので、BLOB パーサーが呼び出されます。 後ほど、メッセージ・フローで、メッセージが MRM ドメインで事前定義されているか判別し、メッセージ・フロー内の後続のノードがメッセージを解析する際に使用する正しい値を、ResetContentDescriptor ノードを使用して設定できます。
以下の表は、一般的な ResetContentDescriptor ノード・プロパティーを示しています。
プロパティー | 値 |
---|---|
メッセージ・ドメイン (Message Domain) | MRM |
メッセージ・ドメインのリセット (Reset Message Domain) | 選択されている |
メッセージ・セット (Message Set) | DH53CU406U001 |
メッセージ・セットのリセット (Reset Message Set) | 選択されている |
メッセージ・タイプ (Message Type) | m_MESSAGE1 |
メッセージ・タイプのリセット (Reset Message Type) | 選択されている |
メッセージ形式 (Message Format) | CWF |
メッセージ形式のリセット (Reset Message Format) | 選択されている |
「メッセージ・ドメイン (Message Domain)」は MRM に設定され、メッセージが次回構文解析されるときに MRM パーサーが呼び出されます。 メッセージ・セット、タイプ、および形式は、メッセージ・モデルを定義するメッセージ・テンプレート値であり、すべてのプロパティーは変更する必要があるためにすべてのリセット・チェック・ボックスが選択されています。
ResetContentDescriptor ノードにより、入力メッセージに関連した BLOB パーサーはメッセージの物理ビット・ストリーム (メッセージの論理ツリー表記ではない) を構成し、このビット・ストリームは後で MRM パーサーに渡されます。 次に、MRM パーサーは、ResetContentDescriptor ノードで指定されているメッセージ・テンプレート (「メッセージ・セット (Message Set)」、「メッセージ・タイプ (Message Type)」、および「メッセージ形式 (Message Format)」) を使用して、ビット・ストリームを構文解析します。
ResetContentDescriptor ノードのインスタンスをメッセージ・フローに入れると、ResetContentDescriptor ノードを構成することができます。 エディター・ビューでノードを右マウス・ボタンでクリックし、「プロパティー (Properties)」をクリックします。 ノードの基本プロパティーが表示されます。
値を入力する必要のある (デフォルト値が定義されていない) すべての必須プロパティーには、プロパティー・ダイアログにアスタリスクが表示されます。
以下のように ResetContentDescriptor ノードを構成します。
状況により、ユーザー定義のパーサーを指定することもできます。
「メッセージ・ドメインのリセット (Reset Message Domain)」チェック・ボックスを選択します。
これらのプロパティーは、ResetContentDescriptor ノードを通過するメッセージのメッセージ・ヘッダーに必要な ドメイン、セット、タイプ、および形式を設定します。 ただし、この設定が行えるのは、該当するヘッダーがすでに存在する場合だけです。 メッセージに MQRFH2 ヘッダーがない場合、ノードはヘッダーを作成しません。
「キャンセル (Cancel)」をクリックすると、ダイアログを閉じてプロパティーの変更をすべて破棄します。
ResetContentDescriptor ノードのターミナルについては、次の表に説明されています。
ターミナル | 説明 |
---|---|
In | ノードが処理するメッセージを受け入れる入力ターミナル。 |
Failure | ノードによりエラーが検出された場合に、メッセージがルーティングされる出力ターミナル。 |
Out | 新しいパーサーがプロパティーにより示される場合、メッセージがルーティングされる出力ターミナル。 |
以下の表でノードのプロパティーを説明します。M の見出しの列は、プロパティーが必須 かどうかを示します (デフォルトが定義されていない場合に値を入力することが必要なら、プロパティー・ダイアログにアスタリスクのマークが付きます)。 C の見出しの列は、プロパティーが構成可能 かどうかを示します (メッセージ・フローを bar ファイルに追加してデプロイするとき、値を変更できます)。
ResetContentDescriptor ノードの「基本 (Basic)」プロパティーについては、次の表に説明されています。
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
メッセージ・ドメイン (Message Domain) | いいえ | いいえ | 再構文解析したいメッセージと関連付けられたメッセージ・ドメイン。 | |
メッセージ・ドメインのリセット (Reset Message Domain) | はい | いいえ | 選択されていない | メッセージ・ドメインをリセットするかどうか。 チェック・ボックスを選択すると、このアクションが実行されます。 |
メッセージ・セット (Message Set) | いいえ | いいえ | 再構文解析したいメッセージと関連付けられたメッセージ・セット。 | |
メッセージ・セットのリセット (Reset Message Set) | はい | いいえ | 選択されていない | メッセージ・セットをリセットするかどうか。 チェック・ボックスを選択すると、このアクションが実行されます。 |
メッセージ・タイプ (Message Type) | いいえ | いいえ | 再構文解析したいメッセージと関連付けられたメッセージ・タイプ。 | |
メッセージ・タイプのリセット (Reset Message Type) | はい | いいえ | 選択されていない | メッセージ・タイプをリセットするかどうか。 チェック・ボックスを選択すると、このアクションが実行されます。 |
メッセージ形式 (Message Format) | いいえ | いいえ | 再構文解析したいメッセージと関連付けられたメッセージ形式。 | |
メッセージ形式のリセット (Reset Message Format) | はい | いいえ | 選択されていない | メッセージ形式をリセットするかどうか。 チェック・ボックスを選択すると、このアクションが実行されます。 |
ResetContentDescriptor ノードの「説明 (Description)」プロパティーについては、次の表に説明されています。
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
簡略説明 (Short Description) | いいえ | いいえ | ノードの簡単な説明 | |
詳細説明 (Long Description) | いいえ | いいえ | メッセージ・フロー内のノードの目的を説明するテキスト |
関連概念
メッセージ・フロー
パーサー
メッセージのモデル化
関連タスク
使用するノードの決定
メッセージ・フローのエラー処理
注意 |
商標 |
ダウンロード |
ライブラリー |
技術サポート |
フィードバック
![]() ![]() |
ac04810_ |