Oracle SOA 12c- Human Task Approval Issue

In this post, I'll discuss about the recent issue of multi-step human task approval workflow. The scenario belongs to issue of a multi step user task approval where the request was initiated by Oracle IDAM and workflow being fulfilled using Oracle SOA. Below is the summary of the use case-

Environment
Oracle Soa Suite 12c, Oracle IDAM 12c

Problem
There was a two step approval process where approval request was initiated from Oracle IDAM system (OIM). All user base resides in OIM system at LDAP/DB level. Dynamic user assignment was there to act on user task. Initially, there was two level approval task where one user per level was assigned i.e. one user can act on a task. Later, the requirement changed as task assignment to group for level 2 approval. The task assignment was being done using business rules. So, changes done and the composite was deployed and tested out. The approval flow was fine up to level 1 but after approval by level 2 (any group member) it shows the workflow status as 'ALERTED' with below error message- 

exception.code:30064exception.type: ERRORexception.severity: 2exception.name: Error in routing slip.exception.description: The task is assigned to an invalid application role SYSTEM ADMINISTRATORS in application context null. The routing slip is associated with the task definition default/DefaultOperationalApproval!5.3/ApprovalTask.exception.fix: Verify that the application role is specified correctly in the routing slip in the task definition.


Cause
The issue was related with the following observations which might lead to the issue-
1. Nomenclature of group name created i.e. it contains special character
2. The business rule file contains incorrect value (Task.groupRole) for approle 
3. Necessary rights to newly created group in OIM, i.e. group must have necessary permissions to complete the task because how does workflow system know the task is being completed.
4. The SOA workflow system must handle the response for event 'OnTaskCompleted' as the same was identified in flow-trace.

Solution
1. Creating a new role in OIM with name groupApprover as below steps-
 


2. Changing business rule and providing the correct value for approle filed as-
call CreateResourceList(users:"",groups:"groupApprover",approles:Task.ownerRole,ResponseType:ResponseType.REQUIRED,ruleName:"RULE_NAME",lists:Lists)

3. Making changes in human task to make provision of Trigger Workflow Event Check option on 'OnTaskCompleted'
4. Making Changes in EventSubscription workflow to handle request of OnTaskCompleted event.
5. Save the composite and deploy it.

Testing results working as expected of workflow process. 

Comments

Popular posts from this blog

Oracle SOA Suite- Implementing Email Notification

Oracle SOA Suite 12c- PKIX path building failed & unable to find valid certification path to requested target

Migration of Oracle SOA Suite Composite from 11g to 12c