JavaScript is required to for searching.
Skip Navigation Links
Exit Print View
Oracle Java CAPS JMS Binding Component User's Guide     Java CAPS Documentation
search filter icon
search icon

Document Information

Using the JMS Binding Component

JMS Binding Component Overview

JMS Binding Component Features

JMS Binding Component Scenarios

Outbound Scenario

Inbound Scenario

XA Scenario

Outbound InOut Exchange Scenario

Inbound InOut Exchange Scenario

On Demand Receive Scenario

Creating JMS-Based Concrete WSDL Documents

To Create a JMS-Based Concrete WSDL Document from the New WSDL Document Wizard

To Create a JMS-Based Concrete WSDL Document from the New File Wizard

Request Connection Configuration

Request Consumer Configuration

Request Publisher Configuration

Response Destination Configuration

Response Consumer Configuration

Response Publisher Configuration

Advanced Configuration

Connecting to the JMS Server

Specifying the Protocol, Server, and Port

Connecting to the JMS Server Using JNDI

Using the lookup Approach

Using the JNDI Approach

Configuring Redelivery Handling

Configuring Redelivery Handling from the Wizard

Configuring Redelivery Handling by Editing the WSDL Document

Using the Normalized Message Properties

Inbound Normalized Message Properties

Connection URL Property (org.glassfish.openesb.jms.inbound.connectionurl)

User Name Property (org.glassfish.openesb.jms.inbound.username)

Message Selector Property (org.glassfish.openesb.jms.inbound.messageselector)

Destination Property (org.glassfish.openesb.jms.inbound.destination)

Destination Type Property (org.glassfish.openesb.jms.inbound.destinationtype)

Forward As Attachment Property (org.glassfish.openesb.jms.inbound.forwardasattachment)

Outbound Normalized Message Properties

Connection URL Property (org.glassfish.openesb.jms.outbound.connectionurl)

User Name Property (org.glassfish.openesb.jms.outbound.username)

Password Property (org.glassfish.openesb.jms.outbound.password)

Destination Property (org.glassfish.openesb.jms.outbound.destination)

Destination Type Property (org.glassfish.openesb.jms.outbound.destinationtype)

XA Transaction Property (org.glassfish.openesb.jms.outbound.xatransaction)

Delivery Mode Property (org.glassfish.openesb.jms.outbound.deliverymode)

Timeout Property (org.glassfish.openesb.jms.outbound.timeOut)

Client ID (org.glassfish.openesb.jms.outbound.clientid)

Message Selector Property (org.glassfish.openesb.jms.outbound.messageselector)

Subscription Durability Property (org.glassfish.openesb.jms.outbound.subscriptiondurability)

Subscription Name Property (org.glassfish.openesb.jms.outbound.subscriptionname)

Forward As Attachment Property (org.glassfish.openesb.jms.outbound.forwardasattachment)

General Normalized Message Properties

Time To Live Property (org.glassfish.openesb.jms.timetolive)

Priority Property (org.glassfish.openesb.jms.priority)

Message ID Property (org.glassfish.openesb.jms.messagetype)

Message Type Property (org.glassfish.openesb.jms.messagetype)

Correlation ID Property (org.glassfish.openesb.jms.correlationid)

Reply To Destination Property (org.glassfish.openesb.jms.replytodestination)

Reply To Destination Type Property (org.glassfish.openesb.jms.replytodestinationtype)

User Properties Property (org.glassfish.openesb.jms.userproperties)

JMS WSDL Extensibility Elements

JMS Connectivity Elements

JMS address Element

JMS jmsjcaOptions Element

JMS Binding Elements

JMS binding Element

JMS operation Element

JMS message Element

JMS properties and property Elements

JMS mapmessage and mappart Elements

JMS Binding Component Clustering

JMS High Availability

JMS Load Balancing

JMS Performance

Publishing and Subscribing to Multiple WebSphere Queues

JMS Binding Component Scenarios

The following scenarios show how the JMS Binding Component can consume messages and provide messages.

Outbound Scenario

The following diagram illustrates an outbound scenario.

image:Diagram shows the JMS outbound scenario. The context describes the diagram.

The HTTP Binding Component consumes an external web service client message. The HTTP Binding Component sends an InOnly message exchange to the BPEL Service Engine. The BPEL Service Engine performs a simple translation of the input message to an output message. The BPEL Service Engine sends the message exchange to the JMS Binding Component.

The JMS Binding Component converts the normalized message in the InOnly message exchange to a JMS text message. The JMS Binding Component sends the text message to a configured JMS topic.

In this scenario, the BPEL Service Engine cannot automatically correlate the incoming and outgoing messages for the business process because the message does not acquire a message ID until the JMS Binding Component sends the message. If correlation is needed in order to support request reply processing, manually correlate the Message ID of the message the JMS Binding Component sends to the Correlation ID of the reply request.

Inbound Scenario

The following diagram illustrates an outbound scenario.

image:Diagram shows the JMS inbound scenario. The context describes the diagram.

The JMS Binding Component receives a JMS message from a JMS topic. The JMS Binding Component normalizes the JMS message to an InOnly message exchange. The JMS Binding Component sends the message exchange to the BPEL Service Engine.

The BPEL Service Engine invokes the HTTP Binding Component to send a message to a web service.

XA Scenario

The following diagram illustrates an XA scenario.

image:Diagram shows the JMS XA scenario. The context describes the diagram.

The inbound JMS Binding Component receives a text message from JMS queue 1. The JMS Binding Component starts an XA transaction and enlists its XAResource. The JMS Binding Component normalizes the JMS message and sends the message as a transacted InOnly message exchange. The message exchange contains the transactional context as a property keyed by MessageExchange.JTA_TRANSACTION_PROPERTY_NAME.

The XSLT Service Engine propagates the transaction in the InOnly message exchange that it creates and sends it to the outbound JMS Binding Component. The outbound JMS Binding Component denormalizes the message exchange to a JMS message and sends the JMS message to JMS queue 2, as part of the XA transaction created by the inbound JMS Binding Component.

Upon completion of both InOnly message exchanges, the inbound JMS Binding Component commits the XA transaction (thereby committing both the JMS receive and the JMS send).

The JMS Client Trigger and JMS Client Verifier are external JMS clients used to initiate the message exchanges and to verify the result. Once the transaction is committed, the JMS Client Verifier receives the expected JMS message sent by the outbound JMS Binding Component.

Outbound InOut Exchange Scenario

In this use case, the JMS Binding Component receives an InOut exchange from its consuming partner (for example, the BPEL Service Engine).

It denormalizes the message found in the "In" portion of the InOut message exchange to a JMS message. It then creates a temporary queue or topic, "Q-temp", and sets the JMS message property, called JMSReplyTo, with this temporary queue or topic. It sends the JMS message to the request queue "Q-in". It waits to receive the reply (a JMS message) from the temporary queue or topic.

When it receives the reply message from the temporary queue or topic, it normalizes the JMS message and sets it as the message in the "Out" portion of the InOut message exchange.

It then sends the InOut message exchange to the consuming partner. Finally, it waits for the message exchange status from the consuming partner to complete the InOut message exchange.

image:Diagram shows the JMS outbound InOut exchange scenario. The context describes the diagram.

Inbound InOut Exchange Scenario

In this use case, the JMS Binding Component is an external proxy consumer for an external service consumer.

It receives a JMS message from input queue "Q-in". It creates an InOut message exchange. It normalizes the JMS message and sets it as the message in the "In" portion of the InOut message exchange. It then sends the InOut exchange to its providing partner (for example, the BPEL Service Engine). It then waits for the reply from its providing partner for the InOut exchange via the NMR.

Upon receiving the reply, it denormalizes the message found in the "Out" portion of the InOut exchange to a JMS message.

It then extracts the topic or queue, "Q-temp", found in the JMS request message's JMSReplyTo property and sends the JMS reply message to this reply queue or topic.

Finally, upon successfully sending the JMS reply message to the JMSReplyTo queue or topic, it sends back a DONE response on the InOut message exchange to the providing partner.

image:Diagram shows the JMS inbound InOut exchange scenario. The context describes the diagram.

On Demand Receive Scenario

The HTTP Binding Component consumes a request message from an external web service client. The HTTP Binding Component sends an InOnly message exchange to the BPEL Service Engine. The BPEL Service Engine performs a simple translation of the input message to an output message. The BPEL Service Engine sends the message exchange to the JMS Binding Component.

The JMS Binding Component converts the normalized message in the InOnly message exchange to a JMS text message. The JMS Binding Component sends the text message to a configured JMS topic or queue.

The JMS Binding Component receives a JMS reply message from the JMS topic or queue. The JMS Binding Component normalizes the JMS message to an InOnly message exchange. The JMS Binding Component sends the message exchange to the BPEL Service Engine.

The BPEL Service Engine invokes the HTTP Binding Component to send a message to the external web service client.

image:Diagram shows the JMS on demand receive scenario. The context describes the diagram.