WebSphere Message Broker バージョン 8.0.0.5 オペレーティング・システム: AIX、HP-Itanium、Linux、Solaris、Windows、z/OS

製品の最新バージョンについては、IBM Integration Bus バージョン 9.0 をご覧ください。

ResetContentDescriptor ノード

メッセージを別のパーサーを使用して再構文解析するよう要求するには、ResetContentDescriptor ノードを使用します。

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

目的

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

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

新しいパーサーとして MRM を指定した場合は、別のメッセージ・テンプレート (メッセージ・セット、メッセージ・タイプ、およびメッセージ形式) も指定することができます。 新しいパーサーとして DFDL を指定した場合は、別のスキーマ・ロケーションおよび文書ルートも指定できます。 このノードはメッセージを再構文解析しませんが、このノードに設定するプロパティーが、メッセージがメッセージ・フローによって次に再構文解析される際の構文解析方法を決定します。

ResetContentDescriptor ノードは、以下の事柄は行いません。

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

ResetContentDescriptor ノードはパレットの「構造」ドロワーに含まれていて、WebSphere® Message Broker Toolkit 内では次のアイコンによって表されます。

ResetContentDescriptor ノード・アイコン

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

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

次の表は、一般的な ResetContentDescriptor ノード・プロパティーを示しています。
プロパティー
メッセージ・ドメイン DFDL
メッセージ・ドメインのリセット 選択されている
メッセージ・モデル MyMessageModel
メッセージ・モデルのリセット 選択されている
メッセージ m_MESSAGE1
メッセージのリセット 選択されている
物理形式  
物理形式のリセット 選択されている

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

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

バージョン 6.1 では、XSLTransform ノードによって生成されたメッセージの「メッセージ・ドメイン」、「メッセージ・セット」、「メッセージ・タイプ」、および「メッセージ形式」を設定するために、メッセージ・フロー内で XSLTransform ノードの後に ResetContentDescriptor ノードを組み入れる必要はなくなりました。 XSLTransform ノードがこの機能を実行します。

ResetContentDescriptor ノードの構成

ResetContentDescriptor ノードのインスタンスをメッセージ・フローに入れたら、そのノードを構成することができます。 詳しくは、メッセージ・フロー・ノードの構成を参照してください。 ノードのプロパティーが、「プロパティー」ビューに表示されます。

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

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

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

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

      「メッセージ・ドメイン」プロパティーをブランクのままにして、「メッセージ・ドメインのリセット」チェック・ボックスを選択しないと、そのドメインはリセットされません。 「メッセージ・ドメイン」プロパティーをブランクのままにして、「メッセージ・ドメインのリセット」チェック・ボックスを選択した場合、デフォルト値は BLOB になります。

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

      適切なヘッダーが存在する場合にのみ、これらのアクションが実行されます。 メッセージに MQRFH2 ヘッダーがない場合、ノードはヘッダーを作成しません。

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

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

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

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

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

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

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

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

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

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

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

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

プロパティー M C デフォルト 説明
メッセージ・ドメイン いいえ いいえ BLOB 再構文解析するメッセージと関連付けられたメッセージ・ドメイン。
メッセージ・ドメインのリセット はい いいえ 選択されていない リセット・チェック・ボックスを選択すると、「メッセージ・ドメイン」プロパティーがリセットされます。 その場合、「メッセージ・ドメイン」プロパティーの値を選択しないと、「メッセージ・ドメイン」のプロパティー値は BLOB になります。
メッセージ・モデル いいえ いいえ   再構文解析するメッセージが定義されているメッセージ・モデル・スキーマ・ファイルの名前またはロケーション。 このリストには、すべての利用可能なメッセージ・モデル・スキーマ・ファイルが取り込まれます。
メッセージ・モデルのリセット はい いいえ 選択されていない リセット・チェック・ボックスを選択すると、「スキーマ・ロケーション」プロパティーがリセットされます。 その場合、「スキーマ・ロケーション」プロパティーの値を選択しないと、「スキーマ・ロケーション」のプロパティー値はブランクになります。
メッセージ いいえ いいえ   データの文書全体をモデル化し、メッセージ・モデル・スキーマ・ファイル内に含まれているグローバル・エレメントの名前またはロケーション。 このリストには、選択したメッセージ・モデルで定義された、利用可能なすべてのメッセージが取り込まれます。
メッセージのリセット はい いいえ 選択されていない リセット・チェック・ボックスを選択すると、「文書ルート」プロパティーがリセットされます。 その場合、「文書ルート」プロパティーの値を選択しないと、「文書ルート」のプロパティー値はブランクになります。
物理形式 いいえ いいえ   DFDL ドメインを使用している場合は、再構文解析するメッセージの物理フォーマットを選択する必要はありません。 メッセージの物理フォーマットは、選択した DFDL スキーマ・ファイルで定義されています。
物理形式のリセット はい いいえ 選択されていない リセット・チェック・ボックスを選択すると、「物理形式」プロパティーがリセットされます。 その場合、「物理形式」プロパティーの値を選択しないと、「物理形式」のプロパティー値はブランクになります。

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

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

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

MQRFH2C コンパクト・パーサーを MQRFH2 ヘッダーに使用 いいえ いいえ 選択されていない このプロパティーは、MQRFH2 パーサーの代わりに、MQRFH2C コンパクト・パーサーを MQRFH2 ヘッダーに使用するかどうかを制御します。
XML スキーマ・データ・タイプを使用してツリーを構築する いいえ いいえ 選択されていない このプロパティーは、XML スキーマから取得されたデータ・タイプを使って、XMLNSC パーサーがメッセージ・ツリー内に構文エレメントを作成するかどうかを制御します。 「妥当性検査」タブ上の「妥当性検査」プロパティーを「内容」 または 「内容と値」 に設定した場合にのみ、このプロパティーを選択できます。
XMLNSC コンパクト・パーサーを XMLNS ドメインに使用 いいえ いいえ 選択されていない このプロパティーは、XMLNS ドメイン内のメッセージに XMLNSC コンパクト・パーサーを使用するかどうかを制御します。 このプロパティーを設定すると、入力 MQRFH2 ヘッダーまたはドメインが XMLNS の場合、出力ターミナルに接続されているノードの XMLNSC の下にメッセージ・データが表示されます。
混合内容の保存 いいえ いいえ 選択されていない このプロパティーは、XMLNSC パーサーが再解析済みメッセージ内で混合テキストを検出したときに、メッセージ・ツリー内にエレメントを作成するかどうかを制御します。 チェック・ボックスを選択すると、混合テキスト用のエレメントが作成されます。 このチェック・ボックスのチェックを外した場合、混合テキストは無視されて、エレメントは作成されません。
コメントの保存 いいえ いいえ 選択されていない このプロパティーは、XMLNSC パーサーが再解析済みメッセージ内でコメントを検出したときに、メッセージ・ツリー内にエレメントを作成するかどうかを制御します。 チェック・ボックスを選択すると、コメント用のエレメントが作成されます。 このチェック・ボックスのチェックを外した場合、コメントは無視されて、エレメントは作成されません。
処理命令の保存 いいえ いいえ 選択されていない このプロパティーは、XMLNSC パーサーが再解析済みメッセージ内で処理命令を検出したときに、メッセージ・ツリー内にエレメントを作成するかどうかを制御します。 チェック・ボックスを選択すると、処理命令用のエレメントが作成されます。 このチェック・ボックスのチェックを外した場合、処理命令は無視されて、エレメントは作成されません。
不透明エレメント いいえ いいえ ブランク XMLNSC パーサーによって不透明解析される再解析済みメッセージ内のエレメントのリストを指定するときに、このプロパティーを使用します。 不透明解析が実行されるのは、妥当性検査が使用不可に設定されている場合のみ (つまり、「妥当性検査」プロパティーの値が「なし」の場合) です。妥当性検査が使用可能な場合、「不透明エレメント」で指定される項目は無視されます。

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

プロパティー M C デフォルト 説明 mqsiapplybaroverride コマンド・プロパティー
妥当性検査 いいえ はい なし このプロパティーは、妥当性検査を行うかどうかを制御します。 有効な値は、「なし」「内容」「内容と値」、および「継承」です。 validateMaster
失敗時の処置 いいえ いいえ 例外 このプロパティーは、妥当性検査が失敗した場合の動作を制御します。 「妥当性検査」「内容と値」または「内容」に設定した場合にのみ、このプロパティーを設定できます。 有効な値は、「ユーザー・トレース」「ローカル・エラー・ログ」「例外」、および「例外リスト」です。  
ノードのモニター・プロパティーが、次の表に説明されています。
プロパティー M C デフォルト 説明
イベント いいえ いいえ なし ノードに対して定義したイベントが、このタブに表示されます。 デフォルトでは、メッセージ・フローのどのノードに対してもモニター・イベントは定義されません。 ノードのモニター・イベントを作成、変更、または削除するには、「追加」「編集」、および「削除」を使用します。詳しくは、モニター・プロパティーを使用したモニター・イベント・ソースの構成を参照してください。

「使用可能」チェック・ボックスを選択またはクリアすることによって、ここに表示されているイベントを使用可能および使用不可に設定できます。

特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        最終更新:
        
        最終更新: 2015-02-28 17:45:27


参照トピック参照トピック | バージョン 8.0.0.5 | ac04810_