Its been so long since I did BPM development so I might be wrong. But looks like you are not ending task1, you need to connect that to either an error(don’t remember error part clearly) or end event to terminate a process like you did on validOrder. As it is now, it will only terminate valid orders.
Abhijith,
It’s good that you are able to see it working from one place ie., MWS. You can nail out the reason.
When you perform the operation on UI, there are set of task API executed behind that makes process to complete. What task API’s are triggered while acting on it can be found out by enabling ‘task audit’ by logging into MWS using sysadmin. Once done, perform the operation from MWS by accepting and completing the task. In task audit view as well as in the full.log file, you can find out all the task API’s that got executed for updating the task that made process instance complete. Compare this task API calls with the logic that you performed in IS/PE flow service and see what’s missing.
Personally, I like Task Engine very much. It has got amazing capabilities, but sensitive. It becomes even more interesting when there are concurrent execution of tasks in a clustered environment (task engine cluster), race conditions, locking/unlocking during task updates and several other optimizations needed to achieve quality of service.
If you’re updating the task with flow service please check the case (use completed with small ‘c’) of the status as it only accepts limited values. in any other case task will be completed but the progress will remain same in Process.
We have a functionality where the user instead of completing the task need an option to send the task back for more info
So that is the reason I had to use accept in one screen and once the accept is pressed view the task data from form and if everything is correct complete the form