接続問題をトラブルシューティングするには、Identity Manager の lh コマンドが非常に有用です。 このコマンドは Identity Manager の Web アプリケーションインストールを使用しますが、等式からそのアプリケーションサーバーを削除します。
ここでは、次の項目について説明します。
ここでは、lh コマンドの使用方法について説明します。基本的なコマンドから始めて、Identity Manager の大部分を実行できるようなコマンドの使用方法まで進んでいきます。
これらのデバッグツールに慣れると、これらの lh コマンドを使用するのに独自のバリエーションが展開できるようになります。
一番基本的な接続テストを実行するには、lh setRepo -c -n コマンドを使用します。これで、現在のリポジトリの場所を接続しなくても調べられるようになります。Uこのコマンドを使用すると、RL や JDBC ドライバなどのパラメータが正しいかどうか検証できます。
正常に接続している場合は、ServerRepository.xml ブートストラップファイルを読みます。
接続障害がある場合は、この障害を先に解決してみます。この障害の原因は、複合化エラーによくあります。たとえば、J2EE 不一致やクラスパスの競合があることが考えられます。
現リポジトリの場所に 接続して調べるには、lh setRepo -c -v コマンドを使用します。(-v は、冗長出力を表示します。) このコマンドを使用すると、Identity Manager サーバーを必要とせずに、ほぼすべてのリポジトリコードが実行できます。
正常に接続している場合は、現リポジトリの場所に正常に接続します。
接続障害がある場合は、この問題を先に解決してみます。この接続問題を解決すると、DNS、ファイアウォール、リモート接続権限問題を解決するのに役立ちます。
詳細は、「DataSource 接続のテスト」を参照してください。
新しいリポジトリの場所を指定したり、リポジトリを同じ場所に設定するには、setRepo コマンドをデバッグプロセス全体にわたって使用します。
このコマンドを使用すると、JAR ファイルなど必要なコンポーネントがすべて所定の位置にあるか確認できます。setRepo コマンドはまた、テーブルの所有者や権限問題をデバッグするのに userid や password などの接続情報を変えられます。
WEB-INF/lib 内の JAR ファイルと、WSHOME の下にある WEB-INF/classes 内のクラスを使用している Identity Manager サーバーを実際に起動するには、このコマンドを使用します。lh console コマンドは、Identity Manager インストール環境を使用して、実際に Identity Manager アプリケーションを起動しますが、等式からアプリケーションサーバーを削除します。
正常に接続した場合、この問題はアプリケーションサーバー環境か設定に固有のものです。
接続障害が発生した場合は、障害メッセージをレビューします。
接続障害がアプリケーションサーバー障害と同じ場合は、これまでよりずっと変数を減らしてみてもこの問題が再現するはずです。
アプリケーションサーバー障害と違う障害が発生する場合は、こちらの方が変数が少なく、Identity Manager コントロール下により多くの変数があるため、Identity Manager 接続問題を先に解決してみます。
DataSource 接続をテストしていると、lh setRepo -c コマンドが失敗することがあります。
この障害は、アプリケーションサーバーのデータベース接続サービスやアプリケーションサーバーのディレクトリサービスを使用できるように Identity Manager を設定していると特に起こりやすくなります。このサービスは、実行中のアプリケーションサーバーが Web アプリケーションに提供している環境でのみ機能します。
まず、目的の DataSource 設定から手順を追いながら取り掛かります。この手順に慣れたら、自分の目的に合うようにこの方法を改変することができます。
アプリケーションサーバーのデータベース接続サービスを省略する DataSource 以外の接続など、直接 JDBC DriverManager 接続を使用してみてください。
DataSource を使用しますが、アプリケーションサーバーのディレクトリサービス以外の ディレクトリサービスにある DataSource オブジェクトを格納します。
ほかに使用可能なディレクトリサービスがない場合は、ローカルファイルシステムのみを使用する JNDI の参照実装など、フリーのディレクトリサービスをダウンロードすることができます。
これがうまくいったら、アプリケーションサーバーへの問題を突き止められます。
次に、有用であれば、アプリケーションサーバーのデータベース接続サービスまたはアプリケーションサーバのディレクトリサービスを追加することもできます。アプリケーションサーバーが Web アプリケーションに提供する環境外で機能しているサービスであればどちらでもかまいません。