The image shows a diagram of what happens when one request results in one of two possible responses. The following actions take place:
The client BPEL process, which uses a bpel.xml deployment descriptor, has a Call service invoke activity to send a request to the service BPEL process, and a pick activity to select from the responses.
The client BPEL process's Call service invoke activity sends a resquest to the service BPEL process, using a WSDL partner link.
The service BPEL process, which has its own bpel.xml deployment descritptor, has a receive activity and a switch activity. The receive activity receives the client's request (from the Call service invoke activity) and sends its data to the switch activity.
The switch activity performs either of the following actions:
If the item is in stock, it invokes Message A.
If the item is not in stock, it invokes Message B.
Afterwards, the switch activity sends either Message A or Message B back to the client.
The pick activity in client BPEL process receives either Message A or Message B, and depending on the message, its branches do the following:
If Message A is sent, the onMessage A branch handles the response.
If Message B is sent, the onMessage B branch handles the response.