Troubleshoot Business Processes

The following troubleshooting tips pertain to creating and editing business processes.

Are there restrictions on loops or activities in processes?

To prevent a process executing a very large number of loops or activities as part of a single process instance, the number of direct/indirect loops is restricted to 1000, at which point execution is suspended. This restriction prevents audit data growth and releases system resources.

How are repeated exceptions handled?

To ensure that a process instance does not result in repeated exceptions, especially when invoking an external service, auto-recovery on faulted process instances is limited to two times.

I’m receiving a validation error stating that the condition in a sequence flow is empty.

You created a gateway element, created a data object for it, and connected its outbound paths, but you didn’t implement the non-default paths.

To solve the problem, perform these steps for each non-default path:

  1. Click the path, click the edit icon on the path, and click Implementation.

  2. Type a name for the path.

  3. Click Edit next to the Condition field.

    The Expression Editor appears.

  4. Type an expression that tests whether the gateway data object has one of the outcome values.

    For example, if the gateway handles the outcome of an approval task, the name of the gateway data object is approvalOutcome, and the APPROVE outcome is the default path, type approvalOutcome == "REJECT". Note the double equal sign.

  5. Click OK to close the Expression Editor and then close the implementation pane.

You don’t need to implement the default gateway path.

I created two business objects based on two schema definitions that have unique element names but the same namespace. I’m receiving exception errors when I use these business objects in my process.

Schema type definitions on the same targetNamespace from two different locations can't be resolved properly. Any attempt to use these schemas such as, when creating a business object or as part of a WebService definition, causes errors throughout the application. Therefore, you should either provide another namespace or define those schema types in the same file.