- 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 - Synchronous Interactions
The Client BPEL Process sends a request to the Service BPEL Process (d1 in the below figure), and receives an immediate reply (d2 in the below figure). For example, a user requests a subscription to an online application form for admission to a college and immediately receives email confirmation that their request has been accepted.
The Client BPEL Process needs an invoke activity. The port on the client side sends the request and receives the reply.
The Service BPEL Process needs a receive activity to accept the incoming request, and a reply activity to return either the requested information or an error message (a fault; f1 in the below figure) defined in the WSDL.
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:output message = "client:BPELProcessResponseMessage"/> </wsdl:operation> </wsdl:portType>