- BPEL Tutorial
- BPEL - Home
- BPEL - Introduction
- BPEL - Activities
- Partner Link in BPEL Process
- Creating a Partner Link
- BPEL - Adapters
- Process Monitors
- One-Way Messages
- Synchronous Interactions
- Asynchronous Interactions
- Asynchronous Interactions with a Timeout
- Asynchronous Interactions with a Notification Timer
- One Request, Multiple Responses
- One Request, One of Two Possible Responses
- One Request, a Mandatory Response, & an Optional Response
- Partial Processing
- Multiple Application Interactions
- Invoking a Synchronous Web Service
- Invoking an Asynchronous Web Service
- Using Parallel Flow
- Using Conditional Branching
- Using Fault Handling
- Resubmitting a Faulted Process
- Incorporating Java & Java EE Code
- Manipulating XML Data
- Using Correlation Sets & Message Aggregation
- Using Events & Timeouts in BPEL Processes
- Using the Notification Service
- Using Oracle BPEL Process Manager Sensors
- Difference between BPEL 1.1 & BPEL 2.0
- BPEL Useful Resources
- BPEL - Quick Guide
- BPEL - Useful Resources
- BPEL - Discussion
BPEL - Asynchronous Interactions
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>