Sun Identity Manager 8.1 システム管理者ガイド

アダプタのトラブルシューティング

アダプタをトラブルシューティングするには、アダプタのログファイルをレビューします。ほとんどのアダプタはそのリソース設定をログファイルに書き込んでいるため、この情報を基に、そのアダプタが起動していること、すべての設定の変更内容が保存されていることを確認できます。


注 –

トレースを有効に設定し、ログが実行される前にトレースが必要なメソッドを特定しておく必要があります。また、カスタムアダプタには、この新しいメソッドのログエントリを作成する呼び出しを含めておく必要があります。

トレースを有効にする手順については、必要に応じて「Identity Manager サーバーのトレース」を参照してください。


ほとんどのアダプタログファイルは、$WSHOME/config ディレクトリにあり、WSTrace1.log という名前が付けられています。

ActiveSyncUtil インスタンスへのログ呼び出しを作成し Active Sync が有効に設定されているアダプタは、Log File Path リソース属性で指定されたディレクトリにログファイルまたはログファイルセットを作成します。このほかにも Active Sync 関連のログエントリがないか、このログファイルを必ずチェックしてください。

この節の情報は、次のように構成されています。

アダプタをデバッグする

    カスタムアダプタをデバッグするには、この一般的な手順に従ってください。

  1. アダプタにテストプログラムを作成し、この Java ファイルが次の基本機能を実行することを確認します。

    1. リソースの新規作成

    2. ユーザーの作成

    3. ユーザーの取得

    4. ユーザーの更新

    5. ユーザーの削除

    6. 複数ユーザーに、作成、取得、更新、および削除の操作を実行します。


      注 –

      サンプルテストファイル (SkeletonResourceTests.java) が、インストール CD の/REF ディレクトリに用意されています。


  2. デバッグに適切なログレベルを設定します。

    たとえば、最初のデバッグパスには、ログレベル (最大デバッグ出力) を 4 まで上げ、ログファイルのパスを設定し、最大ファイルサイズを指定します。

    アダプタを起動すると、すべてのリソース設定がこのログファイルに書き込まれます。この情報を基に、アダプタが起動したこと、全ての設定の変更内容が保存されたことを確認できます。

  3. アダプタをコンパイルしてテストします。

    • テストプログラムをコンパイルするには、コマンドウィンドウを開いて javac -dtest/filename.java コマンドを入力します。このコマンドは、適切な com/waveset/adapter/test ディレクトリにクラスファイルを作成します。

    • このクラスファイルを使用して新アダプタをテストするには、コンパイルしたアダプタが com/waveset/adapter ディレクトリにあることを確認して、次のコマンドでこのアダプタを実行してください。


      java– D waveset.home=path com.waveset.adapter.test.
      MyResourceAdapter
      
  4. リソースの HTML ヘルプファイルを作成します。


    注 –
    • サンプルのヘルプファイルが、com/waveset/msgcat/help/resources ディレクトリの idm.jar ファイルに用意されています。

    • アプリケーションのオンラインヘルプを記載する方法については、『Sun Identity Manager Deployment Reference』を参照してください。


  5. (Active Sync が有効なアダプタの場合のみ) 最後のリソースで同期をリセットするには、XmlData SYNC_resourceName オブジェクトを削除します。

  6. エラーログを読み、アダプタを修正します。

  7. ログレベルをリセットします。

    たとえばレベル 2 のデバッグを指定すると、アダプタ設定とエラーに関する情報が表示されますが、ログの詳細量が管理できるレベルまでに制限されます。

  8. Identity Manager を起動する前に、resource.adapters エントリの下にあるアダプタ名を設定して $WSHOME/config/Waveset.properties ファイルにある新アダプタを特定しておく必要があります。そうしないと、Identity Manager がそのアダプタを認識できません。

  9. アダプタとその関連ヘルプファイルを Identity Manager にインストールします。


    注 –

    Identity Manager がディスプレイ内の新アダプタのインスタンスを認識できるようにする前に、そのタイプの新リソースを「リソースのリスト」ページから作成しておく必要があります。

    このページから「新規」>「新アダプタ」の順に選択し、「リソースウィザード」から新アダプタを作成します。


  10. Identity Manager で、そのリソースにリソースとユーザーを作成します。


    ヒント –

    Active Sync 有効アダプタをトラブルシューティングする際、XmlData SYNC_resourceName オブジェクトを編集して Active Sync 同期プロセスの MapEntry を「デバッグ」ページから削除していれば、アダプタが最初に検出された変更点からやり直します。

    IAPI イベントを使用した場合に、最後に処理した変更値などのリソースの同期状態を格納するには、Property() メソッドを設定する必要があります。このメソッドを設定すると、アダプタのトラブルシューティングに非常に役立ちます。過去の変更内容を実行して無視するようにアダプタを設定することができます。それ以降は、アダプタを修正して、変更結果をアダプタのログファイルに表示できるようになります。


    使用中のリソースが Active Sync リソースの場合は、そのリソースの編集ページでログを有効にしていれば、さらに情報が表示されることもあります。ログレベル (0-4) を設定し、ログファイルの書き込み先となるファイルパスを設定します ( resource_name.log など)。

  11. (Active Sync 有効アダプタの場合のみ) 最後のリソースの同期を再起動します。

LoginConfig 変更内容をデバッグする

LoginConfig 関連の変更点をデバッグするには、次を行う必要があります。

  1. 選択したファイルのトレースを有効にし、メソッド/クラスレベル 1 トレースで次のクラスをトレースします。

    • com.waveset.security.authn.WSResourceLoginModule

    • com.waveset.session.LocalSession

    • com.waveset.session.SessionFactory

    • com.waveset.ui.LoginHelper

    • com.waveset.ui.web.common.ContinueLoginForm

    • com.waveset.ui.web.common.LoginForm

  2. Telnet で、次のようにシングルサインオン (SSO) のパススルー認証ログインをテストします。

    1. SSO ログインモジュールを正しく設定したら、HTTP ポートに直接 telnet し、HTTP 要求を login.jsp に送信します。

    2. 次の要求を telnet セッションに貼り付けます。これには、sm_user HTTP ヘッダーを検索する SSO ログインモジュールが記載されています。


      HEAD /idm/login.jsp HTTP/1.0
      Accept: text/plain,text/html,*/*
      Accept-Language: en-us
      Accept-Encoding: gzip, deflate
      User-Agent: Mozilla/4.0
      Host: LOCALHOST
      sm_user: Configurator

      トレースに、ユーザーが正常にログインしたと表示されます。例を示します。


      2003.07.08 14:14:16.837 Thread-7 
      WSResourceLoginModule#checkForAuthenticatedResourceInfo()
      Found authenticated resource accountId, ’Configurator@Netegrity 
      SiteMinder’on Identity Manager user ’Configurator’. 
      null null 2003.07.08 14:14:16.837 
      Thread-7 WSResourceLoginModule#checkForAuthenticatedResourceInfo()
      Exit null null 2003.07.08 14:14:16.837 Thread-7 WSResourceLoginModule#login()
      Exit, return code = true null null 2003.07.08 14:14:16.847
      Thread-7 LocalSession#login() Login succeeded via Netegrity SiteMinder 
      null null 2003.07.08 14:14:16.847 Thread-7 LocalSession#login() 
      Overall authentication succeeded null null 2003.07.08 14:14:16.897 Thread-7 
      LocalSession#checkIfUserDisabled() 
      Entry null null 2003.07.08 14:14:16.897 Thread-7 
      LocalSession#checkIfUserDisabled() Exit 
      null null 2003.07.08 14:14:16.927 Thread-7 LocalSession#login() 
      Exit null null

アダプタ接続問題をデバッグする

ここでは、よくあるアダプタ接続問題のデバッグ方法について説明します。

このセクションのトピックは、次のように構成されています。


注 –

通常、アダプタクラスの com.waveset.adapter.adapter_classname をトレースすれば、アダプタの接続問題を特定できます。例を示します。

com.waveset.adapter.ADSIResourceAdapter

トレースを有効にする手順については、「Identity Manager サーバーのトレース」を必要に応じて参照してください。


アダプタの認証問題

よくある認証問題には、次のようなものがあります。

Active Sync アダプタの問題

カスタム Active Sync アダプタで最もよくある問題は、フォーム関連のものです。この種のエラーは通常、必須フィールドにパスワードや電子メール情報など必要な情報を入力しなかったために起こります。

Identity Manager は、ビューの最終 XML の後に、フォーム検証エラーをアダプタログに出力します。例を示します。


20030414 17:23:57.469: result from submit (blank means no errors):
 20030414 17:23:57.509: Validation error: missing required field password

Identity Manager は、アダプタログにすべてのメッセージも出力します。このメッセージには、アカウント作成時と更新時、アダプタエラー、スキーママップデータなどが記載されます。

Active Sync リソースアダプタは、最後に処理した変更内容についての情報を SYNC.resourceName XMLData オブジェクトに格納します。

Domino ゲートウェイアダプタの問題

次に、よくある Domino ゲートウェイとアダプタの設定エラーと、この問題の解決手順を説明します。

メインフレームホストアダプタの問題

RACF、ACF2、または TopSecret のホストアダプタが接続を再利用できなかったりキャッシュできないと、ユーザーが頻繁にログインしなくてはならなくなります。これにより、パフォーマンスに悪影響を与えます。この問題は、キャッシュのタイムアウト設定に原因があることがよくあります。

    キャッシュのタイムアウト設定を確認するには、Identity Manager のアダプタ接続プールを次のようにトレースします。

  1. Identity Manager の「Edit Configuration Object」ページから、com.waveset.adapter.HostConnPool#reapConnections メソッドをレベル 4 でトレースします。

    トレースを有効にする手順については、「Identity Manager サーバーのトレース」を必要に応じて参照してください。

  2. アダプタが操作を実行中に、十分な長さの期間のトレースを取り込みます (最低 30-60 分)。

  3. アプリケーションサーバーの stdout のトレース出力またはトレースファイルをレビューして、Info reaping connection エントリを見つけます。

    もしもこのエントリが 30 分おきに 1 回以上発生している場合は、接続が不必要にタイムアウトになっているということです。

    この問題を解決するには、Idle Timeout リソース属性値を上げて、接続が頻繁にリープされすぎないようにします。Idle Timeout 属性値は、接続がログアウトされるまでのアイドル期間を制御します。デフォルト値は 90 秒ですが、これですと新たなログインが頻繁に発生します。

    理想的には、配備環境に合わせて、平均的なアイドル時間より長い値を指定してください。たとえば、Idle Timeout 属性値を 30 分 (1800000 ミリ秒) 以上に調節します。

PeopleSoft アダプタの問題

ここでは、次のような PeopleSoft のアダプタ問題をトラブルシューティングする方法について説明します。

SAP アダプタの問題

SAP or SAP HR Active Sync アダプタから SAP システムへの接続をテストしようとしてエラーが発生した場合は、コマンドウィンドウを開き、インストール先ディレクトリ WEB-INF/lib からこのコマンドを実行します。

java -jar sapjco.jar

sapjco.jar コマンドは、インストールされている SAP Java Connector (JCO) のバージョンと、このアダプタが正しくインストールされているかを表示します。このコマンドは、JavaTM Native Interface (JNITM) の参照先プラットフォーム、および SAP システムと通信している RFC ライブラリも返します。

この参照先プラットフォームのライブラリが見つからない場合は、SAP マニュアルを参照して、SAP Java Connector の正しいインストール方法を調べてください。

UNIX アダプタの問題

ここでは、UNIX アダプタによくある問題をデバッグする方法について説明します。