BPEL catch-all fault handlers don't catch all runtime faults
In some cases, BPEL catch-all fault handlers on synchronous one-way operations don't catch runtime faults.
Reason
If a BPEL invoke activity synchronously called a one-way service (Interface is one-way, and Preferred interaction style is synchronous), which throws an exception, the BPEL process handles this exception. However, if the transaction boundary is immediately before the Invoke activity, the BPEL catch-all fault handlers don't catch the runtime faults.
Resolution
A custom property called Engine.alwaysUseFaulthandlersOnSyncInvokes is available to ensure BPEL catch-all fault handlers catch all runtime faults. However, you must set this new custom property to true by completing the following steps:- Log in to the WebSphere administrative console as cell administrator.
- Go to and click the cluster name of the application target cluster.
- On the Configuration tab, in the Business Automation Workflow section, select .
- Return to the Configuration tab and, in the Additional Properties
section, select Custom properties, click New, and
enter the following information:
- Name: Engine.alwaysUseFaulthandlersOnSyncInvokes
- Value: true
- Press Apply and click Save.
- Synchronize the change to all nodes.
- Restart the application target cluster.