スタッフ・サービス、スタッフ・プラグイン、およびスタッフ解決のトラブルシューティング

以下の情報を使用して、許可ロールへのスタッフ割り当てに関連した問題を解決します。

このタスクを実行する理由と実行時期

以下のトピックを取り上げます。

テクニカル・サポート検索』ページでも、 追加情報を検索できます。

スタッフ動詞のデプロイメント時のエラー
LDAP スタッフ・プラグインを使用する場合、プラグイン構成パラメーターの値が誤っているために デプロイメントが失敗することがあります。すべての必須パラメーターが設定されていることを確認します。 BaseDN パラメーターを LDAP ディレクトリー・ツリーのルートに設定するには、 空ストリングを指定します。つまり、BaseDN パラメーターに 2 つのアポストロフィ (') 文字 ('') を設定します。 二重引用符 (") は使用しないでください。BaseDN パラメーターの設定を失敗すると、 デプロイメント時に NullPointerException 例外になります。
スタッフ・リポジトリー内の項目が作業項目割り当てに反映されていない
スタッフ照会によって検索されるユーザー ID の最大数は、 使用中の XSL 変換ファイルで定義される Threshold 変数によって指定します。 LDAP スタッフ・プラグインに使用される XSL 変換ファイルの例は、LDAPTransformation.xsl であり、 Linux および UNIX の場合は install-root/ProcessChoreographer/Staff に置かれ、 Windows プラットフォームの場合は install-root¥ProcessChoreographer¥Staff に 置かれます。デフォルトの Threshold 値は 20 です。この値を変更するには、次のようにします。
  1. 新規スタッフ・プラグイン・プロバイダー構成を作成し、独自バージョンの XSL ファイルを指定します。
  2. 必要に応じて、XSL ファイルの以下の項目を変更します。
     <xsl:variable name="Threshold">20</xsl:variable>
注: 大きな Threshold 値を指定すると、パフォーマンスが低下する場合があります。 このため、100 より大きな値を指定しないでください。
タスクまたはプロセス・インスタンスの予期しないスタッフ割り当て
タスクの特定のロールにスタッフ動詞を定義しない場合、またはスタッフ解決が失敗するか、 結果を戻さない場合、デフォルトのスタッフ割り当てが実行されます。これらのデフォルトによって、 予期しない許可がユーザーに与えられる可能性があります。例えば、プロセス・スターターがプロセス管理者権限を入手します。 また、多くの許可が従属成果物によって継承されます。例えば、プロセス管理者が、すべてのインライン・タスク の管理者になる場合もあります。

次の表は、どのデフォルトがどの状態に該当するかを示しています。

表 1. ビジネス・プロセスのロール
ビジネス・プロセスのロール プロセス・モデルでロールが定義されていない場合 ... プロセス・モデルでロールは定義されているが、スタッフ解決が失敗するか、 適切な結果を戻さない場合...
プロセス管理者 プロセス・スターターがプロセス管理者になる 次の例外が発生し、プロセスは開始されない。

EngineAdministratorCannotBeResolvedException

プロセス・リーダー リーダーなし リーダーなし
表 2. インライン・ヒューマン・タスクのロールおよびそれらのエスカレーション
インライン・ヒューマン・タスクのロールおよびそれらのエスカレーション タスク・モデルでロールが定義されていない場合 ... タスク・モデルでロールは定義されているが、スタッフ解決が失敗するか、 適切な結果を戻さない場合...
タスク管理者 継承のみが適用される 継承のみが適用される
タスクの潜在的インスタンス作成者 だれでも潜在的インスタンス作成者になる だれでも潜在的インスタンス作成者になる
タスクの潜在的スターター だれでも潜在的スターターになる だれでも潜在的スターターになる
タスクの潜在的所有者 だれでも潜在的所有者になる 管理者が潜在的所有者になる
タスク・エディター エディターなし エディターなし
タスク・リーダー 継承のみが適用される 継承のみが適用される
エスカレーション受信者 管理者がエスカレーション受信側になる 管理者がエスカレーション受信側になる
次の継承規則がインライン・タスクに適用されます。
  • プロセス管理者が、すべてのインライン・タスク、それらのサブタスク、後続タスク、およびエスカレーションの 管理者になります。
  • プロセス・リーダーが、すべてのインライン・タスク、それらのサブタスク、後続タスク、およびエスカレーションの リーダーになります。
  • タスク管理者が、これらすべてのタスクのすべてのサブタスク、後続タスク、およびエスカレーション の管理者になります。
  • タスク・リーダーが、これらすべてのタスクのすべてのサブタスク、後続タスク、およびエスカレーション のリーダーになります。
  • 任意のタスク・ロールのメンバーが、このタスクのエスカレーション、サブタスク、および後続のタスクのリーダー になります。
  • エスカレーション受信側が、エスカレートしたタスクのリーダーになります。
表 3. スタンドアロン・ヒューマン・タスクのロールおよびそれらのエスカレーション
スタンドアロン・ヒューマン・タスクのロールおよびそれらのエスカレーション タスク・モデルでロールが定義されていない場合 ... タスク・モデルでロールは定義されているが、スタッフ解決が失敗するか、 正しい結果を戻さない場合...
タスク管理者 オリジネーターが管理者になる 例外 AdministratorCannotBeResolvedException が スローされ、タスクは開始されない
タスクの潜在的インスタンス作成者 だれでも潜在的インスタンス作成者になる だれでも潜在的インスタンス作成者になる
タスクの潜在的スターター オリジネーターが潜在的スターターになる 例外 CannotCreateWorkItemException がスローされ、 タスクは開始されない
潜在的所有者 だれでも潜在的所有者になる 管理者が潜在的所有者になる
編集者 エディターなし エディターなし
リーダー 継承のみが適用される 継承のみが適用される
エスカレーション受信者 管理者がエスカレーション受信側になる 管理者がエスカレーション受信側になる

次の継承規則がスタンドアロン・タスクに適用されます。

  • タスク管理者が、すべてのサブタスク、後続タスク、およびこれらすべてのタスクのエスカレーション の管理者になります。
  • タスク・リーダーが、すべてのサブタスク、後続タスク、およびこれらすべてのタスクのエスカレーション のリーダーになります。
  • 任意のタスク・ロールのメンバーが、このタスクのエスカレーション、サブタスク、および後続のタスクのリーダー になります。
  • エスカレーション受信側が、エスカレートしたタスクのリーダーになります。
注: メソッドが Business Flow Manager API によって呼び出されると、J2EE ロール BPESystemAdministrator の メンバーは管理者権限を持ち、J2EE ロール BPESystemMonitor のメンバーはリーダー権限を持ちます。
注: メソッドが Human Task Manager API によって呼び出されると、J2EE ロール TaskSystemAdministrator の メンバーは管理者権限を持ち、J2EE ロール TaskSystemMonitor のメンバーはリーダー権限を持ちます。
スタッフ・アクティビティーの停止
次の問題が 1 つ以上発生する場合:
  • ビジネス・プロセスは正常にナビゲートを開始しましたが、ヒューマン・タスクを要求できません。
  • SystemOut.log ファイルに次のメッセージが含まれています。CWWB0057I: プロセス 'MyProcess' のアクティビティー 'MyStaffActivity' は処理不能の障害のため停止しました...

このメッセージは、WebSphere Application Server セキュリティーが 使用可能になっていない可能性があることを示しています。 要員の許可を使用するヒューマン・タスクやプロセスでは、セキュリティーを使用可能にすることとユーザー・レジストリーを構成することが必要です。 次のステップを実行します。

  1. WebSphere セキュリティーが使用可能になっていることを確認します。 管理コンソールで、「セキュリティー」 > 「グローバル・セキュリティー」に移動して、「グローバル・セキュリティーを使用可能に設定 (Enable global security)」 のチェック・ボックスを選択してあることを確認します。
  2. ユーザー・レジストリーが構成されていることを確認します。 管理コンソールで、「セキュリティー」 > 「ユーザー・レジストリー」に移動して、「アクティブ・ユーザー・レジストリー (Active user registry)」属性にチェック・マークを付けます。
  3. 停止している場合は、アクティビティーを再始動します。
スタッフ・リポジトリーへの変更が作業項目割り当てにすぐに反映されない。

Business Process Choreographer は、ランタイム・データベースで、 Lightweight Directory Access Protocol (LDAP) サーバーなど、スタッフ・ディレクトリーに対して評価された スタッフ割り当ての結果をキャッシュに入れます。スタッフ・ディレクトリーで変更が発生しても、 変更はすぐにはデータベース・キャッシュに反映されません。

管理者ガイド 」に、このキャッシュを 最新表示する次の 3 通りの方法が説明されています。

  • 管理コンソールを使用したスタッフ照会結果の最新表示。 大幅な変更があり、ほとんどすべてのスタッフ照会の結果を最新表示する必要がある場合にこの方式を使用します。
  • 管理コマンドを使用したスタッフ照会結果の最新表示wsadmin ツールを使用して管理スクリプトを作成するか、スタッフ照会結果のサブセットのみを すぐに最新表示する場合に、この方式を使用します。
  • refresh デーモンを使用したスタッフ照会結果の最新表示。 期限切れのすべてのスタッフ照会結果を定期的に自動で更新するようにする場合に、 この方式を使用します。
注: これらのどの方式も、グループ動詞のユーザーの グループ・メンバーシップ関連を最新表示しません。このグループ・メンバーシップは、 デフォルトで 2 時間後に期限が切れるユーザー・ログイン・セッション (WebSphere セキュリティー LTPA トークン) に キャッシュされます。プロセス・ナビゲーションに使用されるプロセス・スターター ID のグループ・メンバーシップ・リスト は最新表示されないことにも注意してください。
スタッフ解決に関連したエラー・メッセージと警告メッセージ
スタッフ解決中にスタッフ・リポジトリーにアクセスすると、一般的エラーが発生する場合があります。 これらのエラーの詳細を確認するには、次のトレース設定を使用してトレースを使用可能にします。 com.ibm.bpe.*=all: com.ibm.task.*=all:com.ibm.ws.staffsupport.ws.*=all

警告またはエラー・メッセージによって、次の一般的エラー状態が示されます。

  • trace.log ファイルの Could not connect to LDAP server は、 LDAP サーバーに接続できないことを示します。ネットワーク設定、使用するスタッフ・プラグイン・プロバイダーの 構成 (特にプロバイダー URL) を検査し、LDAP サーバーで SSL 接続が必要かどうかを検査します。
  • System.out または System.err ファイルの javax.xml.transform.TransformerException: org.xml.sax.SAXParseException: Element type "xsl:template" must be followed by either attribute specifications, ">" or "/>" は、LDAPTransformation.xsl ファイルを読み取れないことを示します。 スタッフ・プラグイン・プロバイダー構成、および構成済み XSLT ファイルに誤りがないかどうかを確認します。
  • trace.log ファイルの LDAP object not found. dn: uid=unknown,cn=users,dc=ibm,dc=com [LDAP: error code 32 - No Such Object] は、LDAP 項目が見つからないことを示します。 タスク・モデルのスタッフ動詞パラメーターおよび LDAP ディレクトリーの内容を確認し、 タスク・モデルに不一致がないかどうかを検査します。
  • trace.log ファイルの Requested attribute "uid" not found in: uid=test222,cn=users,dc=ibm,dc=com は、 照会された LDAP オブジェクトで属性が見つからないことを示します。 タスク・モデルのスタッフ動詞パラメーターおよび LDAP ディレクトリーの内容を確認し、 タスク・モデルに不一致がないかどうかを検査します。スタッフ・プロバイダー構成の XSLT ファイルにエラー がないかどうかも検査します。
グループ作業項目および「グループ」動詞の問題
グループ動詞を使用すると、次のような特別な状態が発生する場合があります。
  • グループ名が指定されていても、グループ・メンバーが許可されません。
    • WebSphere セキュリティーのローカル OS レジストリーを使用するときにグループの短い名前を指定し、 LDAP レジストリーを使用するときにグループ dn を指定します。
    • グループ名の大/小文字を区別します。

    この状態が発生する理由の 1 つとして、 WebSphere セキュリティーに LDAP ユーザー・レジストリーを構成し、「許可において大/小文字を無視 (Ignore case for authorization)」オプションを選択したことが考えられます。この場合、 オプションの選択を解除するか、LDAP グループ dn をすべて大文字で指定します。

  • グループ・メンバーシップの変更がすぐに許可に反映されません。影響を受けたユーザーがまだログオンしていると、 この状態が発生する場合があります。ユーザーのグループ・メンバーシップは、そのユーザーのログイン・セッションにキャッシュされ、 デフォルトで 2 時間後に有効期限が切れます。ログイン・セッションの有効期限が切れるのを待つか (デフォルトは 2 時間)、 アプリケーション・サーバーを再始動します。Human Task Manager によって提供される最新表示の方式は、 この動詞には適用できません。プロセス・スターターのグループ・メンバーシップ・リストは最新表示されないことに 注意してください。

(c) Copyright IBM Corporation 2005, 2006. All rights reserved.
(c) Copyright IBM Japan 2006
このインフォメーション・センターでは、Eclipse テクノロジー (http://www.eclipse.org) が採用されています。