MRM ドメインのメッセージの妥当性検査プロパティー

妥当性検査の制御は、以下のノードの「妥当性検査」タブと「一般メッセージ・オプション」タブによって示されるプロパティーを設定することによって行えます。

ノード・タイプ 妥当性検査オプションを持つノード
入力ノード MQInput、SCADAInput、HTTPInput、JMSInput、TimeoutNotification
出力ノード MQOutput、MQReply、SCADAOutput、HTTPReply、JMSOutput
その他のノード Compute、Mapping、JavaCompute、Validate、ResetContentDescriptor、MQGet、HTTPRequest

ブローカー内のメッセージの妥当性検査の概要については、メッセージの妥当性検査を参照してください。

設定可能な妥当性検査プロパティーは次のとおりです。
タブ 妥当性検査に影響を与えるプロパティー
妥当性検査 妥当性検査、失敗処置、すべての値制約を含める、修正
一般メッセージ・オプション 構文解析のタイミング

「妥当性検査」タブのプロパティー

妥当性検査

妥当性検査が必要かどうかを設定します。 すべてのノードは、以下のオプションを提供します。

なし
デフォルト値。 妥当性検査は実行されません。
内容
内容の妥当性検査や構成など、内容のチェックを実行するよう指定します。
内容と値
内容の妥当性検査や構成などの内容チェック、および値がデータ・タイプ、長さ、範囲、列挙などと一致するかどうかなどの値チェックを実行するよう指定します。

次のオプションを提供するノードもあります。

継承
ノードで提供されているどの妥当性検査オプションよりも優先的に、入力メッセージ・ツリーに備えられているすべての妥当性検査オプションを使用するようノードに指示します。 そのため、「継承」は「なし」「内容」、または「内容と値」のいずれかに解決します。 「継承」が選択される場合、タブ上の他の妥当性検査プロパティーはグレー化されます。

失敗処置

妥当性検査に失敗したときに行う処置。 これは次のいずれかの値に設定できます。

例外
デフォルト値。 最初の妥当性検査の失敗で例外がスローされます。 その結果として生成される例外リストを以下に示します。 メッセージ・フローのユーザー・トレースを要求している場合は、失敗のユーザー・トレースへの記録も行われ、妥当性検査が停止します。 失敗の発生時にただちにメッセージの処理を停止したい場合は、この設定を使用します。

失敗処置が「例外」に設定されたときの例外リスト

例外リスト
妥当性検査が失敗した場合 (ただし現行の構文解析または書き込み操作が完了した場合のみ) に例外をスローします。 その結果として生成される例外リストを以下に示します。 メッセージ・フローのユーザー・トレースを要求している場合は、各失敗のユーザー・トレースへの記録も行われ、妥当性検査が停止します。 妥当性検査が失敗したときにメッセージの処理を停止したい場合、しかし発生した失敗のリストをすべて見たい場合にこの設定を使用します。 このプロパティーは「構文解析のタイミング」プロパティーによって影響を受けます。 部分構文解析が選択される場合、現行の構文解析操作は入力メッセージの一部のみを構文解析するため、メッセージのその部分の妥当性検査の失敗のみが報告されます。

失敗処置が「例外リスト」に設定されたときの例外リスト

ユーザー・トレース
メッセージ・フローのユーザー・トレースを要求していない場合でも、妥当性検査の失敗をすべてユーザー・トレースに記録します。 妥当性検査の失敗に関係なくメッセージの処理を継続したい場合は、この設定を使用します。
ローカル・エラー・ログ
妥当性検査の失敗をすべてエラー・ログ (例えば、Windows のイベント・ログ) に記録します。 妥当性検査の失敗に関係なくメッセージの処理を継続したい場合は、この設定を使用します。

すべての値制約を含める

このチェック・ボックスは選択されています。 このオプションは変更できません。

すべての値制約を含める」は、「妥当性検査」が「内容と値」に解決するときにメッセージのフィールドの値に対して実行される基本的な値制約チェックを指定します。 実行されるチェックは次のとおりです。

  • 最小長
  • 最大長
  • 小数部の桁数
  • 全体の桁数
  • 最小の包含
  • 最大の包含
  • 最小の除外 (サポートされる場合)
  • 最大の除外 (サポートされる場合)
  • 列挙
  • パターン

値制約について詳しくは、単純タイプの論理値制約を参照してください。

修正

デフォルト値は「なし」です。 これは変更できません。

「なし」は、「妥当性検査」が「内容」または「内容と値」に解決し、妥当性検査が失敗したときに追加の修復処置が取られないことを指定します。取られる修復処置は、「失敗処置」の設定によって異なります。

失敗処置」が「ユーザー・トレース」または「ローカル・エラー・ログ」に設定される場合、修復処置は、妥当性検査が実行されない場合に取られるデフォルトの修復処置に限定されます (メッセージの妥当性検査)。

  1. 固定形式の出力で無関係のフィールドが廃棄される (CWF および TDS 固定長モデルのみ)
  2. 必須内容が欠落している場合、固定形式の出力で (使用可能な場合に) デフォルトが提供される (CWF および TDS 固定長モデルのみ)
  3. ツリー内のエレメントのデータ・タイプが辞書内で指定されたものと一致しない場合に、可能であれば、出力のデータ・タイプがすべての形式で辞書の定義と一致するように変換されます。

失敗処置」が 「例外」または「例外リスト」に設定される場合、修復処置は、上記リストの 3 番目の項目に限定され、最初の 2 つの項目に関しては例外がスローされます。

構文解析のタイミング
「構文解析のタイミング」プロパティーは、以下のノード上でのみ使用できます。
ノード・タイプ 「構文解析のタイミング」プロパティー・オプションを含むノード
入力ノード MQInput、MQGet、SCADAInput、HTTPInput、HTTPRequest、Real-timeInput、JMSInput、Compute JavaCompute、Mapping、ResetContentDescriptor、TimeoutNotification
その他のノード ResetContentDescriptor

構文解析のタイミング」プロパティーは、メッセージの構文解析時に要求時構文解析を使用するかどうかを決定します。 このプロパティーを使用すると、MRM 入力メッセージの妥当性検査のタイミングを制御することもできます。

  • 「構文解析のタイミング」値として「要求時」を選択する場合、メッセージ内のフィールドが部分構文解析によって解析されるまで、それらの妥当性検査が遅延します。
  • 「構文解析のタイミング」値として「即時」を選択する場合、部分構文解析はオーバーライドされ、構成が「選択」または「メッセージ」の、その時点では解決できない複合タイプを除く、メッセージ内のすべてのものが構文解析され、妥当性検査されます。
  • 「構文解析のタイミング」の値として「完全」を選択する場合、部分構文解析はオーバーライドされ、すべてのものが構文解析され、妥当性検査されます。 構成が「選択」または「メッセージ」の、その時点では解決できない複合タイプがあると、妥当性検査は失敗します。

MRM メッセージの妥当性検査に切り替え、「構文解析のタイミング」に「要求時」または「即時」を選択する場合、メッセージ・フローによるメッセージの処理において、妥当性検査エラーがすぐには検出されないことがあります。またはメッセージの一部が解析されない場合は、エラーがまったく検出されないこともあります。 メッセージ内のすべてのフィールドが確実に妥当性検査されるようにするには、「完全」を選択するか、または「即時」を選択して メッセージ・フローの開始時に、構成が「選択」または「メッセージ」のすべての未解決タイプを確実に解決しておいてください。

「構文解析のタイミング」プロパティーは、出力メッセージの妥当性検査には影響を与えません。

関連資料
組み込みノード
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック
Copyright IBM Corporation 1999, 2006 最終更新: 08/21/2006
ac18870_