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 thegetServiceRefForProcessTemplate() 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 thegetServiceRefForProcessTemplate()
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.