L Exchanging Messages By Using IBM Websphere MQ

This appendix discusses the communication of Oracle B2B with IBM Websphere MQ.

This appendix contains the following sections:

L.1 Overview

Oracle B2B provides the "out-of-the box" feature to connect to IBM MQ to exchange messages. This is support is provided by using the JMS offering of Oracle B2B.

This feature is in addition to the stack of existing communication capabilities of Oracle B2B with trading partners.

L.2 Prerequisites

As a prerequisite, to connect to IBM MQ, you need to specify the following libraries in the classpath:

  • com.ibm.mqjms.jar

  • dhbcore.jar

  • com.ibm.mq.jar

  • com.ibm.mq.jmqi.jar

  • mqcontext.jar

  • com.ibm.mq.pcf.jar

  • com.ibm.mq.commonservices.jar

  • com.ibm.mq.headers.jar

  • fscontext.jar

  • jms.jar

Add the preceding jars in the domain library directory. The directory is typically located at $DOMAIN_DIR/lib.

The jars located in the $DOMAIN_DIR/lib directory are picked and added dynamically to the end of the server classpath at server startup.

For example, <$fmwhome>/user_projects/domains//lib/

Alternatively, the jars can also be added as a part of the setDomainEnv.sh file.

L.3 Connecting to IBM MQ

There are two ways of connecting to IBM MQ using Oracle B2B:

L.3.1 Configuring Credential-based Connectivity

In the case of credential-based connectivity, you have to configure both the outbound and inbound channels.

For outbound, you need to configure the trading partner delivery channel for using the Generic JMS protocol.

For inbound, you need to configure the internal delivery channel for using "Generic JMS" protocol by using the following parameters:

  • Destination Name: The MQ Queue name

  • Connection Factory: The MQ Queue Manager name

  • Destination Provider: java.naming.factory.initial=com.ibm.mq.jms.context.WMQInitialContextFactory

    java.naming.provider.url=<host>:<QM Listen port>/<MQ Channel Name>;

  • User Name: The MQ user name

  • Password: The MQ password

L.3.2 Configuring Bindings-based Connectivity

As a prerequisite, you need to obtain or generate the .bindings file in the MQServer. This can be done by an MQ Administrator.

Set the following values in the respective delivery channel for the outbound or inbound case:

  • Destination Name: The MQ Queue name

  • Connection Factory: The MQ Queue Manager name

  • Destination Provider: java.naming.factory.initial=com.ibm.mq.jms.context.WMQInitialContextFactory

    java.naming.provider.url=file:///<location of .bindings file>