Troubleshooting people assignment
Use the following information to help solve problems relating to the assignment of people to authorization roles.
About this task
- User cannot administer process, scope, or activity instances
- Errors during the deployment of the people directory provider
- Entries in the people directory are not reflected in work item assignments
- Changes to the people directory are not immediately reflected in work-item assignments
- Unexpected people assignments for tasks or process instances
- Stopped human tasks
- Error and warning messages relating to people assignment
- Enabling additional messages about people assignment decisions
- Issues with group work items and the "Group" people assignment criteria
- Cleanup of stored people assignment results
- Adapted XSL transformation file has no effect
You can also search for additional information in the Technical support search page.
- User cannot administer or monitor process, scope, or activity instances, and no administrative tasks are created
- If process administration is restricted
to system administrators, instance-based administration is disabled,
and all administrative actions on processes, scopes, and activities
are limited to users in the BPESystemAdministrator role. For
more information about this administration mode, see Alternative administration modes for BPEL processes.If the Business Flow Manager has been switched to run in the alternate mode, you might need to perform one of the following actions:
- Make sure that all users and programs that perform administrative actions are using user IDs that are in the appropriate role. For example, BPESystemAdministrator or BPESystemmonitor.
- Restore instance-based administration, by turning the alternate process administration authorization mode off. How to turn it off is described in Optimizing BPEL process administration.
- Errors during the deployment of the people directory provider
- If you are using the Lightweight Directory Access Protocol (LDAP)
people directory provider, deployment might fail due to incorrect
values of the provider configuration parameters.
- Make sure that all mandatory parameters are set.
- To set the baseDN parameter to the root of the LDAP directory tree, specify an empty string; set the baseDN parameter to two apostrophe (') characters (''). Do not use double quotation marks ("). Failure to set the baseDN parameter results in a NullPointerException exception at deployment time.
- Entries in the people directory are not reflected in work item assignments
- The maximum number of user IDs retrieved by a people query is specified by the
Threshold variable, which is defined in the XSL transformation file in use. The
sample XSL transformation file used for the LDAP people directory provider is
LDAPTransformation.xsl.
On Linux® and UNIX platforms, this file is located in
install-root/ProcessChoreographer/Staff.
On Windows platforms, this file is located in
install-root\ProcessChoreographer\Staff.
1000000, therefore by default the threshold value is of no realistic importance. Do not go under this value without careful consideration.- Create a new people directory provider configuration, providing your own version of the XSL file.
- Adapt the following entry in the XSL file according to your
needs:
<xsl:variable name="Threshold">1000000</xsl:variable>
- Changes to the people directory are not immediately reflected in work-item assignments
Business Process Choreographer caches the results of people assignments evaluated against a people directory, such as an LDAP server, in the runtime database. When changes occur in the people directory, these are not immediately reflected in the database cache.
You can refresh the cached results in the following ways:
- Refresh people query results, using the administrative console. Use this method if you have major changes and need to refresh the results for almost all people queries.
- Refresh people query results, using administrative scripts. Use this method if you write administration scripts using the wsadmin tool, or if you want to immediately refresh all or a subset of the people query results.
- Refresh people query results, using the refresh daemon. Use this method to set up a regular and automatic refresh of all expired people query results.
Note: None of these methods can refresh the group membership association of a user for the Group verb. This group membership is cached in the user's login session (WebSphere® security LTPA token), which by default expires after two hours. The group membership list of the process starter ID that is used for process navigation, is never refreshed.- Unexpected people assignments for tasks or process instances
- Default people assignments are performed if you do not define
people assignment criteria for certain roles for your tasks, or if
people assignment fails or returns no result. These defaults might
result in unexpected user authorization; for example, a process starter
might receive process administrator rights. In addition, many authorizations
are inherited by dependent artifacts. For example, the process administrator
may also become the administrator of all inline tasks.
The following tables illustrate which defaults apply for which situation:
Table 1. Roles for BPEL processes Roles for BPEL processes If the role is not defined in the process model ... If the role is defined in the process model, but people assignment fails or does not return proper results ... Process administrator Process starter becomes process administrator An exception occurs and the process is not started: EngineAdministratorCannotBeResolvedException
Process reader No reader No reader Table 2. Roles for inline human tasks and their escalations Roles for inline human tasks and their escalations If the role is not defined in the task model ... If the role is defined in the task model, but people assignment fails or does not return proper results ... Task administrator Only inheritance applies Only inheritance applies Task potential starter; applies to invocation tasks only Everybody becomes potential starter An exception occurs and the process is not started Task potential owner Everybody becomes potential owner Administrators become potential owners Task editor No editor No editor Task reader Only inheritance applies Only inheritance applies Escalation receiver Administrators become escalation receivers Administrators become escalation receivers The following inheritance rules apply for inline tasks:- Process administrators become administrators for all inline tasks, their subtasks, follow-on tasks, and escalations.
- Process readers become readers for all inline tasks, their subtasks, follow-on tasks, and escalations.
- Task administrators become administrators for all subtasks, follow-on tasks, and escalations of all these tasks.
- Task readers become readers for all subtasks, follow-on tasks, and escalations of all these tasks.
- Members of any task role become readers for this task's escalations, subtasks, and follow-on tasks.
- Escalation receivers become readers for the escalated task.
Table 3. Roles for stand-alone human tasks and their escalations Roles for stand-alone human tasks and their escalations If the role is not defined in the task model ... If the role is defined in task model, but people assignment fails or does not return correct results ... Task administrator Originator becomes administrator The task is not started Task potential instance creator Everybody becomes potential instance creator An exception is thrown and the task is not created Task potential starter Originator becomes potential starter An exception is thrown and the task is not started Potential owner Everybody becomes potential owner Administrators become potential owners Editor No editor No editor Reader Only inheritance applies Only inheritance applies Escalation receiver Administrators become escalation receivers Administrators become escalation receivers The following inheritance rules apply for stand-alone tasks:- Task administrators become administrators for all subtasks, follow-on tasks, and escalations of all these tasks.
- Task readers become readers for all subtasks, follow-on tasks, and escalations of all these tasks.
- Members of any task role become readers for this task's escalations, subtasks, and follow-on tasks.
- Escalation receivers become readers for the escalated task.
Note: When a method is invoked using the Business Flow Manager API, members of the BPESystemAdministrator role have administrator authorization, and members of the BPESystemMonitor role have reader authorization.Note: When a method is invoked using the Human Task Manager API, members of the TaskSystemAdministrator role have administrator authorization, and members of the TaskSystemMonitor role have reader authorization. - Stopped human tasks
- If you encounter one or more of the following problems:
- Human tasks cannot be claimed, even though the BPEL process started navigating successfully.
- The SystemOut.log file contains the following message: CWWB0057I: Activity 'MyStaffActivity' of processes 'MyProcess' has been stopped because of an unhandled failure...
These problems indicate that administrative security might not be enabled. Human tasks and processes that use people authorization require that security is enabled and the user registry is configured. Take the following steps:
- Check that administrative security is enabled. In the administrative console, go to and make sure the Enable administrative security check box is selected.
- Check that the user registry is configured. In the administrative console, go to and check the Active user registry attribute.
- Restart the activity, if stopped.
- Error and warning messages relating to people assignment
- Some common errors can occur when accessing a people directory
during people assignment. To see details for these errors, you can
enable tracing with the following trace settings:
com.ibm.bpe.*=all: com.ibm.task.*=all:com.ibm.ws.staffsupport.ws.*=allThe following common error situations are indicated by warning or error messages:
Could not connect to LDAP serverin the trace.log file indicates failure to connect to the LDAP server. Check your network settings, the configuration (especially the provider URL) for the people directory provider you use, and verify whether your LDAP server requires an SSL connection.javax.xml.transform.TransformerException: org.xml.sax.SAXParseException: Element type "xsl:template" must be followed by either attribute specifications, ">" or "/>"in the System.out or System.err files indicates that the LDAPTransformation.xsl file cannot be read. Check your people assignment configuration and the configured XSLT file for errors.LDAP object not found. dn: uid=unknown,cn=users,dc=ibm,dc=com [LDAP: error code 32 - No Such Object]in the trace.log file indicates that an LDAP entry cannot be found. Check the task model's people assignment criteria (verb) parameters and the LDAP directory content for mismatches in the task model.Requested attribute "uid" not found in: uid=test222,cn=users,dc=ibm,dc=comin the trace.log file indicates that an attribute cannot be found in the queried LDAP object. Check the task model's people assignment criteria (verb) parameters and the LDAP directory content for mismatches in the task model. Also check the XSLT file of your people assignment configuration for errors.
- Enabling additional messages about people assignment decisions
- You can set a custom property to log additional messages in the
SystemOut.log. The messages record the following events:
- If people resolution did not find any users for a task role, and default users were selected.
- If you are using VMM, warnings when specified entities or specific attributes could not be found in the VMM people directory.
- If you are using substitution, logs decisions whether or not users have been substituted.
To enable the staff diagnosis feature perform the following steps:- Using the administrative console, click , then on the Configuration tab, in the Business Process Manager section, expand Business Process Choreographer, and click Human Task Manager.
- On the Configuration tab, set the value
for the custom property
Staff.Diagnosisto one of the following values:- off
- Never writes additional people assignment information.
- on
- Always writes additional people assignment information.
- development_mode
- Only writes additional people assignment information when the server is running in development mode. this is the default value.
- Restart the server.
The following messages are generated:
Core.StaffDiagMsgIsEnabled=CWTKE0057I: The output of people (staff) resolution diagnosis messages is enabled.Indicates that the diagnosis feature is enabled. This message is generated when the Human Task Manager is started.Core.EverybodyIsPotInstanceCreator=CWTKE0047I: Everybody is potential instance creator for task {0}.Indicates thatEverybodybecame the potential instance creator because no potential instance creator is defined.Core.OriginatorBecomesPotStarter=CWTKE0046I: Originator becomes potential starter of task {0}.For stand-alone tasks only: Indicates that the originator became the potential starter because no potential starter is defined.Core.EverybodyIsPotentialStarter=CWTKE0045I: Everybody is potential starter of task {0}.For inline tasks only: Indicates thatEverybodybecame the potential starter because no potential starter is defined.Core.OriginatorBecomesAdministrator=CWTKE0044I: Originator becomes administrator of task {0}.Indicates that the originator became the administrator because no administrator is defined.Core.EscalationReceiverDoesNotExist=CWTKE0043W: Administrator(s) will be the escalation receiver(s) of the escalation {0}.Indicates that the administrators became the escalation receivers because staff resolution for the escalation receivers either failed or returned an empty list. If no escalation receiver is defined, the default isEverybody, and a trace message is written.Core.EverybodyIsPotentialOwner=CWTKE0014I: Everybody is potential owner of task {0}.Indicates thatEverybodybecame the potential owner because no potential owner is defined.Core.PotentialOwnerDoesNotExist=CWTKE0015W: Administrator(s) will be the potential owner(s) of the task {0}.Indicates that the administrators became the potential owners because staff resolution for the potential owners either failed or returned an empty list. If no potential owner is defined, the default isEverybody, and a trace message is written.StaffPlugin.VMMEntityNotFound=CWWBS0457W: The VMM entity could not be found, received VMM message is ''{0}''.Indicates that a specified VMM entity (a group or person) was not found in the people directory and the reason. People or groups that cannot be found in the people directory are not included in the people resolution result.StaffPlugin.VMMEntityAttributeNotFound=CWWBS0454W: VMM entity ''{0}'' has no attribute with name ''{1}'' of type ''{2}''.Indicates that a specified attribute was not found when searching for a VMM entity (person) in the people directory. If no user email address is found, the user cannot receive email notifications for escalations. If no userpreferredLanguageis found, the default language setting is used. If no substitution attributes (isAbsentorsubstitutes) are found when reading, an attempt is made to initialize the attributes. If no substitution attributes are found when writing or updating, an exception is generated.StaffPlugin.VMMResultIsEmpty=CWWBS0456W: The VMM invocation returned no requested result entities.Indicates that a (get or search) invocation of VMM did not return any entities. No users are included in the people resolution result.
- Issues with group work items and the "Group" people assignment criteria
- If you are using the Group people assignment
criteria, the following situations can occur:
- Group members are not authorized, although the group name is specified:
- Specify the group short name when using the Local OS registry for WebSphere security, and the group dn when using the LDAP registry.
- Make sure that you respect the case sensitivity of the group name.
One possible reason for this situation is that you have configured the LDAP user registry for WebSphere security and selected the Ignore case for authorization option. If so, either clear the option, or specify LDAP group dn in all uppercase.
- Changes in group membership are not immediately reflected in authorization. This might happen, when the affected user is still logged on. The group membership of a user is cached in her login session, and (by default) expires after two hours. You can either wait for the login session to expire (default is two hours), or restart the application server. The refresh methods offered by Human Task Manager do not apply for this people assignment criteria. Note that the group membership list of the process starter is never refreshed.
- Group members are not authorized, although the group name is specified:
- Cleanup of stored people assignment results
- People assignment results are stored in the database. All stored people assignment results are subject to people assignment refreshes. If the task template that contains the task instance that leads to the computation of a people assignment result is deleted, the stored people assignment result is deleted as well. However, the stored people assignment results are not deleted if only the task instances that are using the stored people assignment results are deleted.
- Adapted XSL transformation file has no effect
- When adapting an XSL transformation file, the server needs to be restarted before the changes take effect. In addition, the adapted XSL file is applied only to newly deployed processes and tasks. The changes have no effect on processes and tasks that have been deployed before the XSL file was changed.