Validate ノードは、入力ターミナルに到着するメッセージが予想したとおりであるかどうかを検査するために使用します。このノードを使用して、メッセージが、予想したメッセージ・テンプレート・プロパティー (メッセージ・ドメイン、メッセージ・セット、およびメッセージ・タイプ) を持つかどうかを検査したり、メッセージの妥当性検査を選択してメッセージの内容が正しいかどうかを検査できます。
このトピックには、以下のセクションが含まれています。
検査 | ドメイン |
---|---|
メッセージ・ドメインの検査 | すべてのドメイン |
メッセージ・セットの検査 | MRM および IDOCのみ |
メッセージ・タイプの検査 | MRM のみ |
メッセージ本体の検証 | XMLNSC、MRM、および IDOC のみ |
メッセージは、1 つ以上のメッセージ・ドメイン、メッセージ・セット、またはメッセージ・タイプに照らして検査できます。プロパティーが検査されるのは、対応するチェック・ボックスを選択した場合のみです。このため、空ストリングを含むプロパティーも比較できます。
メッセージの内容は、「妥当性検査」プロパティーに値を指定することによって検査できます。検証は、「妥当性検査」 プロパティーが 「なし」 (デフォルト値) 以外の値に設定されている場合にのみ行われます。
検証失敗をパーサーから Validate ノードに戻すには、「失敗時の処置」プロパティーを「例外」または 「例外リスト」のいずれかに設定します。 そうしないと、検証の失敗はログに記録されるだけになります。
指定されたすべての検査に適合すると、 メッセージはノードの Match ターミナルに伝搬されます。
検査に失敗した場合、 メッセージは Failure ターミナルに伝搬されます。Failure ターミナルがエラー処理に接続されていない場合は、例外が生成されます。
Validate ノードは、WebSphere® Message Broker バージョン 6.0 および以降のリリースで推奨されない Check ノードに取って代わるノードです。 Validate ノードは Check ノードと同様の処理をしますが、「妥当性検査」プロパティーが追加されており、当該機能をサポートするパーサーがメッセージの内容を検証できます。
Validate ノードはパレットの「妥当性検査」ドロワーに入っていて、ワークベンチ内では次のアイコンによって表されます。
Validate ノードを使用して、メッセージが正しいメッセージ・テンプレート・プロパティーを持ち、有効な内容を持つことを確認してから、残りのフローにメッセージを伝搬します。 その後、後続のノードは独自のエラー検査を行わなくても、メッセージが正しいという前提を置くことができます。
また、Validate ノードを使用すると、メッセージをメッセージ・フローを通して正しくルーティングできます。 例えば、株の購入を要求するメッセージを、株の売却を要求するメッセージに必要とされるルートとは別のルートに方向指定するようにノードを構成することができます。
別のルーティングの例として、 本社のスタッフから電子メッセージを 受け取る場合があります。これらのメッセージは (テクニカル・サポートや事務用品の要求、または新しい顧客についてのアドバイスなど) 複数の目的に使用されます。これらのメッセージは、スタッフによって標準フォームへの入力が行われるので、自動的に処理することができます。 これらのメッセージを他の受信メッセージとは別に処理する場合、Validate ノードを使って、 このメッセージ・フローで特定のメッセージ・タイプを持つスタッフ・メッセージのみを処理するようにできます。
Validate ノードのインスタンスをメッセージ・フローに入れたら、そのノードを構成することができます。詳しくは、メッセージ・フロー・ノードの構成を参照してください。ノードのプロパティーが、「プロパティー」ビューに表示されます。ノードのプロパティーを「プロパティー」ダイアログに表示するには、ノードをダブルクリックするか、またはノードを右クリックしてから「プロパティー」をクリックします。 値を入力する必要のある (デフォルト値が定義されていない) すべての必須プロパティーには、アスタリスクが表示されます。
Validate ノードのターミナルについては、次の表に説明されています。
ターミナル | 説明 |
---|---|
In | ノードが処理するメッセージを受け入れる入力ターミナル。 |
Failure | 指定されたプロパティーに着信メッセージが一致しなかった場合に、メッセージがルーティングされる出力ターミナル。 |
Match | 指定されたプロパティーに着信メッセージが一致した場合に、メッセージがルーティングされる出力ターミナル。 |
以下の表は、ノードのプロパティーについて説明しています。 M の見出しの列は、プロパティーが必須 かどうかを示します (デフォルトが定義されていない場合に値を入力することが必要なら、アスタリスクのマークが付きます)。 C の見出しの列は、プロパティーが構成可能 かどうかを示します (メッセージ・フローを BAR ファイルに追加してデプロイするとき、値を変更できます)。
Validate ノードの「説明」プロパティーについては、次の表に説明されています。
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
ノード名 | いいえ | いいえ | Validate | ノードの名前。 |
簡略説明 | いいえ | いいえ | ノードの簡単な説明 | |
詳細説明 | いいえ | いいえ | メッセージ・フロー内のノードの目的を説明するテキスト |
Validate ノードの「基本」プロパティーについては、次の表に説明されています。
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
ドメイン | いいえ | いいえ | ドメインの名前。
「ドメイン」プロパティーのリストから、以下のいずれかの値を選択します。
|
|
ドメインの検査 | はい | いいえ | 選択されていない | このチェック・ボックスを選択すると、「ドメイン」プロパティーに照らして着信メッセージが検査されます。 |
セット | いいえ | いいえ | 着信メッセージが属するメッセージ・セットの
名前または ID。MRM または IDOC パーサーを使用している場合、着信メッセージが特定のメッセージ・セットに属することを検査するには、「セットの検査」 を選択し、「セット」プロパティーのリストからいずれかの値を選択します。
メッセージ・ドメインとして、MRM または IDOC を選択すると、このリストにデータが取り込まれます。
他のパーサーの場合は、「セット」をクリアしたままにします。 |
|
セットの検査 | はい | いいえ | 選択されていない | このチェック・ボックスを選択すると、「セット」プロパティーに照らして着信メッセージが検査されます。MRM または IDOC パーサーを使用している場合、着信メッセージが特定のメッセージ・セットに属することを検査するには、「セットの検査」 を選択し、「セット」プロパティーのリストからいずれかの値を選択します。 |
タイプ | いいえ | いいえ | メッセージ名。MRM パーサーを使用している場合に、着信メッセージが特定のメッセージ・タイプであるかどうかを検査するには、「タイプの検査」 を選択し、「タイプ」プロパティーにメッセージの名前を入力します。
他のパーサーの場合、「タイプ」をクリアしたままにします。 |
|
タイプの検査 | はい | いいえ | 選択されていない | このチェック・ボックスを選択すると、「タイプ」プロパティーに照らして着信メッセージが検査されます。MRM パーサーを使用している場合に、着信メッセージが特定のメッセージ・タイプであるかどうかを検査するには、「タイプの検査」 を選択し、「タイプ」プロパティーにメッセージの名前を入力します。 |
Validate ノードの「妥当性検査」プロパティーについては、次の表に説明されています。
MRM または IDOC パーサーを使用している場合に、メッセージ・セットに対してメッセージ本体を検証するには、必要な妥当性検査プロパティーを「妥当性検査」タブで選択します。 詳細については、メッセージの妥当性検査および妥当性検査プロパティーを参照してください。
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
妥当性検査 | いいえ | はい | なし | このプロパティーは、妥当性検査を行うかどうかを制御します。 有効な値は、「なし」、「内容と値」、「内容」、および「継承」です。 |
失敗時の処置 | いいえ | いいえ | 例外 | このプロパティーは、妥当性検査が失敗した場合の動作を制御します。 「妥当性検査」を「内容」または「内容と値」に設定した場合にのみ、このプロパティーを設定できます。有効な値は、「ユーザー・トレース」、「ローカル・エラー・ログ」、「例外」、および「例外リスト」です。 |
すべての値制約を含める | はい | いいえ | 選択されている | このプロパティーは編集できません。基本値制約検査が「内容と値」 妥当性検査に含まれます。 |
修正 | はい | いいえ | なし | 有効な値は、「なし」、および「フル」です。 |