Using the HTTP Binding Component

Purchase Order Example

A medical supply company provides a web site that contains a line of products for pre-approved customers only. One of these customers, a clinic, logs onto the web site and orders 1000 surgical masks and 2000 pairs of latex gloves. The purchase order is received and stored by the medical supply company's server, and a response is sent back to the clinic to confirm that the order has been received.

Figure 1 HTTP Binding Component Acting as Service Provider and Service Consumer

Graphic shows a diagram of the HTTP Binding Component
Purchase Order scenario. The context describes the graphic.

The purchase order handling system in this scenario is represented by a web service implemented using Sun Java Application Server with the JBI framework.

The actors in this situation are as follows:

Scenario Message Flow

The steps of the purchase order scenario message flow follow the numbers in figure 1.

  1. The web client, using a client-side scripting language like the JavaScriptTM, takes the purchase order information entered into the web form and packages it into a SOAP message. The format of the SOAP message is defined using a WSDL.

  2. The SOAP message is sent to a web service endpoint hosted by the HTTP Binding Component.

  3. The HTTP Binding Component transforms the SOAP message into a normalized message. The normalized message is sent to the Normalized Message Router.

  4. The Normalized Message Router routes the normalized message to the BPEL Service Engine.

  5. The BPEL Service Engine interprets the purchase order information and properly invokes other BPEL processes to fulfill the request.

  6. The BPEL Service Engine creates a response message in the form of a Normalized Message. The normalized message is sent to the Normalized Message Router.

  7. The HTTP Binding Component receives the response message and converts it to a SOAP message. The SOAP message is sent back to the web client as a proper response as defined by the WSDL.

  8. The web client takes the response and creates a human-readable HTML page to inform the customer whether the purchase order was accepted or rejected.