Using the Programming Models for the Request-Delayed Response Pattern

Constructing the ABCS 12-23 header fault component. This facilitates passing the response EBM along with fault message to the catch block for processing. The requesting service receives a response with fault elements populated.

12.6.2 Using the Programming Models for the Request-Delayed Response Pattern

If you use the programming models found in Section 12.5.3, Programming Models for Handling Error Response in the Asynchronous Request-Delayed Response MEP for the request-delayed response pattern, follow these guidelines. Programming Model 1: Using a Separate Service for Error Handling The provider ABCS should publish the messages to JMS Queue in both successful message processing and error scenarios, if the provider ABCS is required to send the response or the error message. Programming Model 2: Using JMS Queue as a Milestone Between the Requester ABCS and the EBS In the case of successful message processing, the provider ABCS invokes the response EBS, using a native binding call, in the existing transaction. If an error occurs during the message processing, the provider ABCS publishes the errored-out message into another JMS queue. The response EBS picks up the message and invokes the fault handler service Programming Model 3: Using a Parallel Routing Rule in the EBS The provider ABCS has two references to the response EBS composite. Follow the naming conventions to name the provider ABCS s second reference to the EBS. For details on naming conventions, see Chapter 29, Oracle AIA Naming Standards for AIA Development Figure 12–12 illustrates the asynchronous provider ABCS composite with a second reference to the ResponseEBS. The label for the second reference is EBSNameErrorResponseEBS. Note: A new transaction is started with de-queuing of the message from JMS. 12-24 Developers Guide for Oracle Application Integration Architecture Foundation Pack Figure 12–12 Async Provider ABCS Composite with a Second Reference to ResponseEBS When the message is processed successfully, the provider ABCS invokes the callback operation on the response EBS. The response EBS routes the response to the requester ABCS by invoking another receive activity. When en error occurs during the processing of the message, the provider ABCS invokes the response EBS through its second reference to the response EBS. In this case, the responseEBS is invoked using a SOAP call, not a native call. This is achieved by having the following property set on the second reference to the response EBS, in the composite of the provider ABCS. binding.ws port=port location=url property name=oracle.webservices.local.optimization type=xs:booleanfalseproperty binding.ws

12.6.3 How to Ensure Transactions in Services