この章では、Identity Manager から生成されるエラーメッセージと例外メッセージについて説明します。
この章のトピックは、次の通りです。
Identity Manager のエラーメッセージと例外メッセージを使用する前に、次をお読みください。
Identity Manager のエラーメッセージと例外メッセージを使用する前に、必ず次をお読みください。
この章の例では、例示専用のロケール (xx_XX ロケール) を使用しています。
エラーメッセージを解釈する際には、次の点にご注意ください。
メッセージによっては、文面が違っても同じエラーメッセージ本文を指していることがあります。
メッセージによっては、複数のコンポーネントで使用されているものもあります。
例外は通常、例外種類かコンポーネント、あるいはその両方で記載されます。
例外の中には内部プログラミングエラーが原因のものもあり、Identity Manager ユーザーには表示されないものもあります。
例外の中には、ラッパーだけのものもあり、そのパラメータも含めて例外のものもあります。例えば、Identity Manager 例外では、パスワードポリシー違反などのリソースメッセージ、アダプターコード、複合例外がラップされます。
メッセージ内に一重引用符 (') や二重引用符 (") が付いたパラメータ化メッセージには、さらに一重引用符 (') や二重引用符 (") を付けてメッセージを拡張してください。(システムにメッセージを出力した時に、一重引用符 (') だけが表示されます。)
例えば、次のメッセージは 2 つの一重引用符で囲まれます。
”’0}’’
問題の診断にお困りの場合は、次の Sun のテクニカルサポートまでご連絡ください。
展開に役立つ Identity Manager のチューニングについては、ほかにもここで紹介するドキュメントと Web サイトを参照してください。
Product_IDMgr; のエラーメッセージと例外メッセージについては、次のドキュメントを参照してください。
カスタマイズしたメッセージカタログを作成する方法については、『Sun Identity Manager Deployment Guide』の第 8 章「Customizing Message Catalogs」を参照してください。
システムログレポートの作成方法と編集方法については、『Sun Identity Manager 8.1 ビジネス管理者ガイド』の「システムログレポート」を参照してください。
次の表に、有用な Web サイトの一部を紹介します。
表 6–1 有用な Web サイト
ここでは、Identity Manager のエラーメッセージと例外メッセージのシステムのほか、エラーと例外が発生する可能性のあるコンポーネントについて説明します。
これらの情報は、次のように構成されています。
エラーメッセージの保存場所は次の通りです。
Identity Manager のメッセージは、WPMessages.properties ファイルの idmcommon.jar および RAMessages.properties ファイルの idmadapter.jar に保存されます。
WPMessages.properties ファイルは、プロジェクトディレクトリ/waveset/idm/common/src/com/waveset/msgcat にあります。
RAMessages.properties ファイルは、プロジェクトディレクトリ/waveset/idm/adapter/src/com/waveset/adapter にあります。
Identity Manager Service Provider は、ユーザーインタフェースに文字列を表示するのに、標準 Java のメッセージリソースバンドルを使用します。このリソースバンドルは通常、idmspe.jar ファイルに含まれているので、メッセージ文字列をカスタマイズする場合は展開する必要があります。
$ cd $WSHOME/WEB-INF/classes $ jar xvf ../lib/idmspe.jar com/sun/idm/idmx/msgcat/I DMXMessages.properties
Identity Auditor メッセージは、AUMessages.properties ファイルに保存されます。このファイルは、次の場所にあります。
project_directory/waveset/idm/auditor/src/com/sun/idm/auditor/msgcat/ AUMessages.properties
Data Exporter のデフォルト実装には、WICMessages.properties と呼ばれる独自のメッセージバンドルが含まれています。WICMessages.properties ファイルは、次の場所にある exporter.jar ファイルの中にあります。
com/sun/idm/warehouse/msgcat/WICMessages.properties
カスタマイズしたメッセージカタログを作成すれば、メッセージを追加したり、システムに用意されているメッセージを修正することができます。
この手順については、『Sun Identity Manager Deployment Guide』の第 8 章「Customizing Message Catalogs」を参照してください。
わかりやすいように、Identity Manager ではページの最上部にエラーアイコンが付いた枠内にエラーメッセージと例外メッセージがページごとに表示されます。
Identity Manager メッセージシステムのうち \{0\} または \{1\} のいずれかで表示される項目は、コードから提供されたパラメータを指します。たとえば、次のようにします。
The file is larger than the maximum supported length of {0} bytes.
この例外では、コードによって \{0\} が最大バイト数を表すパラメータ値に置き換えられます。
Identity Manager では、エラーの重要度が次のように定められています。
致命的。システムクラッシュの原因となる深刻なエラー。保存されていないデータは紛失するか壊れます。
エラー。深刻なエラー。保存されていないデータは紛失するか壊れる危険性があります。データの紛失を防ぐには、早急な措置が必要です。
警告。今後深刻なエラーが発生しないように、いずれ措置を講じる必要があります。
情報。情報メッセージ。通常、サーバーの活動を表します。何もする必要はありません。
エラーメッセージと例外メッセージの詳細は、Identity Manager のシステムログをチェックするとわかります。「システムログレポートのエラー表示」を参照してください。)
システムログレポートには、Identity Manager から生成されたエラーが説明されています。システムログレポートは、エラーのタイムスタンプ、重要度、サーバー名、コンポーネント名、エラーコードまたはエラー ID、スタックトレース (プログラム期間のうち、その時点の実行スタックの構成)、およびエラー本文から構成されています。
システムログレポートを実行して表示するには、Identity Manager の管理者インタフェースまたはコマンドラインインタフェースのいずれからでも行えます。
システムログレポートの作成手順と編集手順は、『Sun Identity Manager 8.1 ビジネス管理者ガイド』に記載されています。
管理者インタフェースからシステムログレポートを実行するには、次の項目を実行します。
Identity Manager 管理者インタフェースにログインします。
「レポート」 -> 「レポートの実行」の順に選択し、「レポートの実行」ページを開きます。
レポート種類列から該当するシステムログレポートのエントリを見つけ、その行にある「実行」ボタンをクリックします。
「レポート結果」ページが表示され、指定した期間内にレポートされたシステムメッセージが一覧表示されます。例えば 図 6–2 には、2 つのシステムメッセージが表示されています。
このレポート結果表には、次の情報が表示されています。
「タイムスタンプ」。エラーが発生した日、曜日、時刻が表示されます。
このシステムログレコードの詳細を表示するには、「タイムスタンプ」のリンクをクリックします。例えば、図 6–2 の「タイムスタンプ」リンクをクリックすると、次の除法が表示されます。
「イベント」。対象となるエントリに syslog ID があれば、syslog ID が表示されます。
「重要度」。エラーの重要度が表示されます。
重要度には、次の種類があります。
致命的。システムクラッシュの原因となる深刻なエラー。保存されていないデータは紛失するか壊れます。
エラー。深刻なエラー。保存されていないデータは紛失するか壊れる危険性があります。データの紛失を防ぐには、早急な措置が必要です。
警告。今後深刻なエラーが発生しないように、いずれ措置を講じる必要があります。
情報。情報メッセージ。通常、サーバーの活動を表します。何もする必要はありません。
「サーバー」。エラーが発生したサーバーを示します。
「コンポーネント」。エラーが生成されたシステムコンポーネントを示します。
「エラーコード」。そのエラーに関連付けられているエラーコードが表示されます。
「メッセージ」。実際のエラーメッセージ本文が表示されます。
この手順の説明は、Identity Manager コマンドラインインタフェースと lh コマンドを使い慣れた方を対象としています。詳細は、『『Sun Identity Manager 8.1 ビジネス管理者ガイド』』の『Sun Identity Manager 8.1 ビジネス管理者ガイド』の付録 A「lh リファレンス」をお読みください。
コマンドラインからシステムログレポートを実行して表示するには、次の項目を実行します。
コマンドウィンドウを開きます。
Identity Manager のデフォルトインストール先ディレクトリに移動します。
プロンプトで、lh syslog [オプション ] コマンドを入力します。
次のオプションを使用して、情報を含めるか除外します。
-d: 数値 – 何日前かのレコードが表示されます (デフォルトは 1 です)。
-F – 重要度が致命的なレコードだけが表示されます。
-E – 重要度がエラー以上のレコードだけが表示されます。
-i logid – 指定した Syslog ID のレコードだけが表示されます。
syslog ID は一部のエラーメッセージに表示され、特定のシステムログエントリを参照するものです。
-W – デフォルトで重要度が警告以上のレコードだけが表示されます。
-X – エラーの原因が報告されていれば、エラーの原因が表示されます。
メッセージカタログエントリを追加したり、システムに用意されているエントリを修正するには、カスタマイズしたメッセージをカタログを作成する必要があります。この手順については、『Sun Identity Manager Deployment Guide』の第 8 章「Customizing Message Catalogs」を参照してください。
Identity Manager のデフォルトのエラーメッセージは、WPMessages.properties ファイルの idmcommon.jar ファイル、および R AMessages.properties ファイルの idmadapter.jar に保存されます。
WPMessages.properties ファイルは、プロジェクトディレクトリ/waveset/idm/common/src/com/waveset/msgcat にあります。
RAMessages.properties ファイルは、プロジェクトディレクトリ/waveset/idm/adapter/src/com/waveset/adapter にあります。
Identity Manager &Product_IDM_SPE のデフォルトエラーメッセージは、IDMXMessages.properties ファイルにあります。
これらのデフォルトエラーメッセージをカスタマイズするには、そのメッセージに用意されている ErrorUIConfig オブジェクトの属性を修正します。
Identity Manager 管理者インタフェースにログインします。
ブラウザに http:// host:port/idm/debug と入力して、「System Settings」ページを開きます。
「List Objects」ボタンの隣にある「Type」メニューを見つけます。メニューから「Configuration」を選択します。
「List Objects」ボタンをクリックします。
「List Objects of type: Configuration」ページで、ErrorUIConfig Edit リンクをクリックします。
次の例は、「Checkout Object: Configuration」ページの ErrorUIConfig オブジェクトに使用する XML を示したものです。
<?xml version=’1.0’ encoding=’UTF-8’?> <!DOCTYPE Configuration PUBLIC ’waveset.dtd’ ’waveset.dtd’> <!-- MemberObjectGroups="#ID#Top" extensionClass="GenericObject" id="#ID#9787BA467E01441B:178655:1156195C008:-7FFE" lastModifier="com.waveset.object.ErrorUIConfig" name="ErrorUIConfig"--> <Configuration id=’#ID#9787BA467E01441B:178655:1156195C008:-7FFE’ name=’ErrorUIConfig’ lock=’Configurator#1200600790328’ creator=’com.waveset.object.ErrorUIConfig’ createDate=’1191343145328’ lastModifier=’com.waveset.object.ErrorUIConfig’ lastModDate=’1191343145328’> <Extension> <Object> <Attribute name=’Enabled’> <Boolean>true</Boolean> </Attribute> <Attribute name=’ErrorMsgID’ value=’UI_ERROR_DEFAULT_FATAL_MESSAGE’/> </Object> </Extension> <MemberObjectGroups> <ObjectRef type=’ObjectGroup’ id=’#ID#Top’ name=’Top’/> </MemberObjectGroups> </Configuration> |
ErrorUIConfig オブジェクト属性のうち、修正できるものは次の通りです。
「Enabled」。メッセージを有効 (true) または無効 (false) にします。
この属性を無効にできる機能は、下位互換性のために用意されていますが、この属性を無効にすると不可解なメッセージとなり、システムログに通常の拡張メッセージが表示されなくなります。
「ErrorMsgID」。表示対象のエラーメッセージを指します。
表示対象とするテキストメッセージを用意するには、この ErrorMsgID 属性値を変更します。
この属性の現在の設定は次の通りです。また、メッセージカタログ内で UI_ERROR_DEFAULT_FATAL_MESSAGE メッセージを参照しています。
<Attribute name=’ErrorMsgID’ value=’UI_ERROR_DEFAULT_FATAL_MESSAGE’/> |
メッセージ内に一重引用符 (') や二重引用符 (") が付いたパラメータ化メッセージには、さらに一重引用符 (') や二重引用符 (") を付けてメッセージを拡張してください。(システムにメッセージを出力した時に、一重引用符 (') だけが表示されます。)
例えば、次のメッセージは 2 つの一重引用符で囲まれます。
”’{0}’’ |
完了したら、「Save」をクリックして変更内容を保存します。
デフォルトエラーメッセージの作成にお困りの場合は、貴社の管理者または管理者ホットラインまでご連絡ください。