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 ノードのインスタンスをメッセージ・フローに入れたら、そのノードを構成することができます。詳しくは、メッセージ・フロー・ノードの構成を参照してください。ノードのプロパティーが、「プロパティー」ビューに表示されます。ノードのプロパティーを「プロパティー」ダイアログに表示するには、ノードをダブルクリックするか、またはノードを右クリックしてから「プロパティー」をクリックします。

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

  1. オプション: 「説明」タブで、簡略説明詳細説明、あるいはその両方を入力します。このタブで、ノードを名前変更することもできます。
  2. 「基本」タブで以下のようにします。
    1. メッセージに関連付けられた異なるパーサーを使用するには、「メッセージ・ドメイン」プロパティーに新しいドメインを以下の中から指定します。
      • MRM
      • XML
      • XMLNS
      • XMLNSC
      • JMS
      • JMSStream
      • IDOC
      • MIME
      • BLOB

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

      また、「メッセージ・ドメインのリセット」チェック・ボックスも選択する必要があります。

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

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

      XML、JMS、MIME、または BLOB パーサーを指定した場合は、「メッセージ・セット」「メッセージ・タイプ」および「メッセージ形式」をブランクのままにしてください。

  3. パーサー・オプションタブで以下のようにします。
    1. 「解析のタイミング」は、デフォルトによって、「要求時」に設定されます。これにより、メッセージの妥当性検査が遅延されます。

      この値を「即時」に変更すると、 部分構文解析はオーバーライドされて、メッセージ内のすべてのものが構文解析および妥当性検査されます。 ただし、構成が「選択」または「メッセージ」に指定された複合タイプで、この時点で解決できないものは除きます。 この値を「完全」に変更すると、 部分構文解析はオーバーライドされて、メッセージ内のすべてのものが構文解析および妥当性検査されます。 構成が「選択」または「メッセージ」に指定された複合タイプで、この時点で解決できないものでは妥当性検査障害が生じます。

      詳細については、要求時の構文解析を参照してください。

    2. MQRFH2C パーサーが使用されるようにするには、「MQRFH2 ヘッダーには MQRFH2C コンパクト・パーサーを使用」を選択します。 デフォルトでは、このチェック・ボックスはクリアされていて、コンパクト・パーサーが使用されないことを示します。
    3. XMLNSC パーサーを使用する場合、XMLNSC パーサーの稼働方法を指定するプロパティーの値を設定します。 詳しくは、XMLNSC ドメインでのメッセージの操作を参照してください。
  4. メッセージ・セットに照らしてメッセージの本体をパーサーで妥当性検査するには、「妥当性検査」タブで妥当性検査プロパティーを設定します。 (メッセージがノードの Failure ターミナルに伝搬される場合には、妥当性検査は行われません。)

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

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

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

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

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

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

プロパティー M C デフォルト 説明
ノード名 いいえ いいえ ノード・タイプ ノードの名前。
簡略説明 いいえ いいえ   ノードの簡単な説明
詳細説明 いいえ いいえ   メッセージ・フロー内のノードの目的を説明するテキスト

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

プロパティー M C デフォルト 説明
メッセージ・ドメイン いいえ いいえ   再構文解析するメッセージと関連付けられたメッセージ・ドメイン。
メッセージ・ドメインのリセット はい いいえ 選択されていない リセット・チェック・ボックスを選択すると、「メッセージ・ドメイン」プロパティーがリセットされます。 その場合、「メッセージ・ドメイン」プロパティーの値を選択しないと、「メッセージ・ドメイン」のプロパティー値は BLOB になります。
メッセージ・セット いいえ いいえ   再構文解析するメッセージと関連付けられたメッセージ・セット。
メッセージ・セットのリセット はい いいえ 選択されていない リセット・チェック・ボックスを選択すると、「メッセージ・セット」プロパティーがリセットされます。 その場合、「メッセージ・セット」プロパティーの値を選択しないと、「メッセージ・セット」のプロパティー値はブランクになります。
メッセージ・タイプ いいえ いいえ   再構文解析するメッセージと関連付けられたメッセージ・タイプ。
メッセージ・タイプのリセット はい いいえ 選択されていない リセット・チェック・ボックスを選択すると、「メッセージ・タイプ」プロパティーがリセットされます。 その場合、「メッセージ・タイプ」プロパティーの値を選択しないと、「メッセージ・タイプ」のプロパティー値はブランクになります。
メッセージ形式 いいえ いいえ   再構文解析するメッセージと関連付けられたメッセージ形式。
メッセージ形式のリセット はい いいえ 選択されていない リセット・チェック・ボックスを選択すると、「メッセージ形式」プロパティーがリセットされます。 その場合、「メッセージ形式」プロパティーの値を選択しないと、「メッセージ形式」のプロパティー値はブランクになります。

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

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

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

MQRFH2C コンパクト・パーサーを MQRFH2 ドメインに使用 いいえ いいえ 選択されていない このプロパティーは、MQRFH2 パーサーの代わりに、MQRFH2C コンパクト・パーサーを MQRFH2 ヘッダーに使用するかどうかを制御します。
XMLNSC コンパクト・パーサーを XMLNS ドメインに使用 いいえ いいえ 選択されていない このプロパティーは、XMLNS ドメイン内のメッセージに XMLNSC コンパクト・パーサーを使用するかどうかを制御します。 このプロパティーを設定すると、入力 MQRFH2 ヘッダーまたはドメインが XMLNS の場合、出力ターミナルに接続されているノードの XMLNSC の下にメッセージ・データが表示されます。
混合内容の保存 いいえ いいえ 選択されていない このプロパティーは、XMLNSC パーサーが再解析済みメッセージ内で混合テキストを検出したときに、メッセージ・ツリー内にエレメントを作成するかどうかを制御します。チェック・ボックスを選択すると、混合テキスト用のエレメントが作成されます。 このチェック・ボックスのチェックを外した場合、混合テキストは無視されて、エレメントは作成されません。
コメントの保存 いいえ いいえ 選択されていない このプロパティーは、XMLNSC パーサーが再解析済みメッセージ内でコメントを検出したときに、メッセージ・ツリー内にエレメントを作成するかどうかを制御します。チェック・ボックスを選択すると、コメント用のエレメントが作成されます。 このチェック・ボックスのチェックを外した場合、コメントは無視されて、エレメントは作成されません。
処理命令の保存 いいえ いいえ 選択されていない このプロパティーは、XMLNSC パーサーが再解析済みメッセージ内で処理命令を検出したときに、メッセージ・ツリー内にエレメントを作成するかどうかを制御します。チェック・ボックスを選択すると、処理命令用のエレメントが作成されます。 このチェック・ボックスのチェックを外した場合、処理命令は無視されて、エレメントは作成されません。

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

プロパティー M C デフォルト 説明
妥当性検査 いいえ はい なし このプロパティーは、妥当性検査を行うかどうかを制御します。 有効な値は、「なし」「内容」「内容と値」、および「継承」です。
失敗時の処置 いいえ いいえ 例外 このプロパティーは、妥当性検査が失敗した場合の動作を制御します。 「妥当性検査」「内容と値」または「内容」に設定した場合にのみ、このプロパティーを設定できます。 有効な値は、「ユーザー・トレース」「ローカル・エラー・ログ」「例外」、および「例外リスト」です。
すべての値制約を含める いいえ いいえ 選択されている このプロパティーは編集できません。このチェック・ボックスを選択すると、基本値制約検査が「内容と値」妥当性検査に含まれます。
修正 いいえ いいえ なし このプロパティーは編集できません。有効な値は、「なし」、および「フル」です。
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009.
最終更新 : 2009-02-20 12:42:45

ac04810_