The Client BPEL Process sends a request to the Service BPEL Process (d1 in the figure given below), and waits until the service replies (d2 in the figure given below).
For example, a user requests a subscription to an online application form for admission to a college and the request cannot be confirmed unless it is accepted at the admission office.
The Client BPEL Process needs an invoke activity to send the request and a receive activity to receive the reply.
The Service BPEL Process needs a receive activity to accept the incoming request and an invoke activity to return either the requested information or a fault.
Note − The difference between responding from a synchronous and asynchronous BPEL process is that the synchronous service uses a reply activity to respond to the client and an asynchronous service uses an invoke activity.
As with all partner activities, the Web Services Description Language (WSDL) file defines the interaction. The WSDL file is as shown below.
WSDL File
<wsdl:portType name = "BPELProcess"> <wsdl:operation name = "process"> <wsdl:input message = "client:BPELProcessRequestMessage"/> </wsdl:operation> </wsdl:portType> <wsdl:portType name = "BPELProcessCallback"> <wsdl:operation name = "processResponse"> <wsdl:input message = "client:BPELProcessResponseMessage"/> </wsdl:operation> </wsdl:portType>