Interoperability Solutions for JMS

     Previous  Next    Open TOC in new window    View as PDF - New Window  Get Adobe Reader - New Window
Content starts here

Using the JMS Transport

You can select JMS as the transport protocol for proxy and business services of any service type (except Transport Typed Service type for business service). The proxy services and business services can be configured to use the JMS transport as described in:

For more information, see Business Services: Creating and Managing and Proxy Services: Creating and Managing in Using the Oracle Service Bus Console. For information about error handling for business services, see Error Handling.

When you configure a proxy service, you can use a Transport Header action to set the header values in messages. For more information, see Transport Headers.

For information about interoperability of Oracle Service Bus with WebSphere MQ, see Using the WebSphere JMS MQ Interface in Native MQ Transport User Guide.

In Oracle Service Bus, you can use the default dispatch policy when you configure a service or, optionally, configure custom work managers in WLS. For more information, see “Creating a Work Manager” in Using the WS Transport in WS Transport User Guide.

 


Configuring Proxy Services using JMS Transport Protocol

You can select the JMS transport protocol when you configure any type of proxy service and the endpoint URI is of the form:

jms://<host:port[,host:port]*/factoryJndiName/destJndiName>

where

To target a JMS destination to multiple servers, use the following format of the URI: jms://host1:port,host2:port/QueueConnectionFactory/destJndiName
where QueueConnectionFactory is name of the connection factory queue. For more information on how to define a connection factory queue, see Configure resources for JMS system modules in Administration Console Online Help.

To configure a proxy service using JMS transport protocol you must specify values for the following fields:

Dispatch Policy: This specifies the dispatch policy for the endpoint. You must configure Work Managers in the WebLogic Server Administration Console in order to have other dispatch policies in addition to the default dispatch policy. For information about work managers, see Using Work Managers to Optimize Scheduled Work and Create Work Manager in WebLogic Server Administration Console Online Help.

For more information about configuring proxy services using JMS transport, see JMS Transport Configuration Page in Proxy Services: Creating and Managing in Using the Oracle Service Bus Console.

 


Transport Headers

The various headers related to the JMS transport are listed in Table 3-1. All the headers except the Unit of Order header are common to both outbound requests and inbound response.

Table 3-1 JMS Transport Headers
Header
Description
JMSMessageID
The JMSMessageID header field contains a value that uniquely identifies the message sent by a provider.
JMSDeliveryMode
The JMSDeliveryMode header field contains the delivery mode specified when the message was sent.
JMSExpiration
This header contains the expiration time of the message that is calculated as the sum of the time-to-live value specified on the send method and the current GMT value.
JMSPriority
The JMSPriority header field contains the priority of the message.
When a message is sent, this field is ignored. After the send operation is complete, the field holds the value that is specified by the method sending the message.
JMSType
The JMSType header field contains the message type identifier that is specified by a client when a message is sent.
JMSCorrelation ID
This is used to link one message with another. For example to link a request message with a response message.
JMSXAppID
This is one of the JMS defined properties that specifies the identity of the application that sends the message. This is set by the JMS provider
JMSXGroupID
This one of the properties defined by JMS that specifies the group id of the message group to which the message belongs. This is set by the client
JMSXGroupSeq
This one of the properties defined by JMS that specifies the sequence of the message inside the message group.
JMS_IBM_Format
This contains the nature of the application data. For more information, see JMS_IBM_FORMAT.
JMS_IBM_Report_Exception
Request exception reports. This also specifies how much of the application data from the message must be retained in the report message. For more information, see JMS_IBM_Report_Exception.
JMS_IBM_Report_Expiration
Request expiration reports. This also specifies how much of the application data from the message must be retained in the report message. For more information, see JMS_IBM_Report_Expiration.
JMS_IBM_Report_COA
Request a confirm on arrival reports. This also specifies how much of the application data from the message must be retained in the report message. For more information, see JMS_IBM_Report_COA.
JMS_IBM_Report_COD
Request a confirm on delivery reports. This also specifies how much of the application data from the message must be retained in the report message. For more information, see JMS_IBM_Report_COD.
JMS_IBM_Report_PAN
Request a positive action notification reports. For more information, see JMS_IBM_Report_PAN.
JMS_IBM_Report_NAN
Request a positive action notification reports. For more information, see JMS_IBM_Report_NAN
JMS_IBM_Report_Pass_Msg_ID
Request that the message identifier of any report or reply message is the same as that of the original message. For more Information, see JMS_IBM_Report_Pass_Msg_ID.
JMS_IBM_Report_Pass_Correl_ID
Request that the correlation identifier of any report or reply message is the same as that of the original message. For more information, see JMS_IBM_Report_Pass_Correl_ID.
JMS_IBM_Report_Discard_Msg
Request that the message is discarded if it cannot be delivered to its intended destination. For more information, see JMS_IBM_Report_Discard_Msg.
JMS_IBM_MsgType
The type of a message. For more information, see JMS_IBM_MsgType.
JMS_IBM_Feedback
This indicates the nature of a report message. For more information, see JMS_IBM_Feedback.
JMS_IBM_Last_Msg_In_Group
Indicates whether the message is the last message in a message group. For more information, see JMS_IBM_Last_Msg_In_Group.
JMS_BEA_UnitOfOrder

Note: This header is valid only for the Inbound Response.

Configuring Transport Headers

You can configure the transport headers for both inbound and outbound requests in the Message Flow. For information about the transport headers related to the JMS transport, see Transport Headers.

In the pipeline, use a Transport Header action to set the header values in messages. For information about adding transport header actions, see Adding Transport Header Actions in Using the Oracle Service Bus Console.

Note: For information about the limitations for JMS transport headers, see Understanding How the Run Time Uses the Transport Settings in the Test Console in Using the Oracle Service Bus Console and “Limitations to Transport Header Values You Specify in Transport Header Actions” in Modelling Message Flows in Oracle Service Bus User Guide.

 


Configuring Business Services using JMS Transport Protocol

You can select the JMS transport protocol when you configure any type of business service and the endpoint URI is of the form:

jms://<host:port[,host:port]*/factoryJndiName/destJndiName >

where

To target a target a JMS destination to multiple servers, use the following format of the URI: jms://host1:port,host2:port/QueueConnectionFactory/destJndiName

where QueueConnectionFactory is name of the connection factory queue. For more information on how to define a connection factory queue, see Configure resources for JMS system modules in Administration Console Online Help.

When you register a JMS business service, you must manually edit the URI from the WSDL file when adding it to the service definition. The URI format is as follows:

jms://<host>:<port>/factoryJndiName/destJndiName

To configure a business service using the JMS transport protocol you must specify values for the following fields:

Note: Configuring a JMS request-response application with response correlation by JMS ID for a business service you must:

 


Error Handling

You can configure JMS-transport business services to handle application and communications errors as follows:


  Back to Top       Previous  Next