This topic applies only to the IBM Business Automation Workflow Advanced
configuration.

Versioned parent process calls a subprocess with the wrong parent process version

A versioned parent process invokes a subprocess by sending a request message and expects to receive a response message. If a new version of the parent process was deployed and the BPEL process that uses the invoke activity is a different version, you might receive an information message and the process might fail at a subsequent invoke activity.

Reason

Because the getServiceRefForProcessTemplate() API always gets the newest (current) version of the parent process, navigating the parent process might continue but will fail at a subsequent invoke activity (not related to the activity intended for invocation, but possibly many steps later) if the invoked subprocess does not use the same version of the parent process to send the response message back.

You receive the CWWBE0057I message:

CWWBE0057I: The '<invoke activiy name>' activity of the <process instance id> process stopped because of an error. com.ibm.bpe.api.RuntimeFaultException: CWWBE0003E: A runtime fault was returned by the implementation of activity '<invoke activiy name>'. com.ibm.websphere.sca.ServiceRuntimeException: Reference not found: <reference partner name>

Resolution

Don't use the getServiceRefForProcessTemplate() API because it always gets the newest (current) version of the parent process. Instead, specify the target process in the reference partner, which is used to send the response message refer to Late binding using a partner link extension. By specifying the target process in the reference partner, the BPEL engine finds the correct version of the parent process (template). For more information, see Calling other BPEL processes and the white paper on developerWorks called Versioning and dynamicity with IBM Process Server.