B2B communication using IBM MQ

Posted by Dheeraj Kumar M on Oracle Blogs See other posts from Oracle Blogs or by Dheeraj Kumar M
Published on Mon, 12 Nov 2012 09:47:56 +0000 Indexed on 2012/11/12 11:10 UTC
Read the original article Hit count: 389

Filed under:



Oracle B2B 11g, provides the out-of-the box ability to connect to IBM MQ to exchange the message. This is support is provided via JMS offering of Oracle B2B.


This is an addition to the stack of existing communication capabilities of B2B with trading partners.

There are 2 ways of connecting to IBM MQ using B2B

1. Credential based connectivity
2. .bindings based connectivity

As a pre-requisite to connect to IBM MQ, it is required to provide the following libraries in classpath:

a. com.ibm.mqjms.jar
b. dhbcore.jar
c. com.ibm.mq.jar
d. com.ibm.mq.jmqi.jar
e. mqcontext.jar
f. com.ibm.mq.pcf.jar
g. com.ibm.mq.commonservices.jar
h. com.ibm.mq.headers.jar
i. fscontext.jar
j. jms.jar

Add the above jars into domain library directory and the directory usually located at $DOMAIN_DIR/lib.

The jars located in this($DOMAIN_DIR/lib) directory will be picked up and added dynamically to the end of the server classpath at server startup.

For eg. <$fmwhome>/user_projects/domains//lib/

Alternatively the above jar’s can also be added as part of the setDomainEnv.sh

Credential based connectivity :

Outbound: : Configure the trading partner delivery channel for using "Generic JMS" protocol

Inbound: : Configure the internal delivery channel for using "Generic JMS" protocol
with the following details:








Parameter NameDescription
Destination NameMQ Queue Name
Connection FactoryMQ Queue Manager Name
Destination Providerjava.naming.factory.initial=com.ibm.mq.jms.context.WMQInitialContextFactory;java.naming.provider.url=<host>:<QM Listen port>/<MQ Channel Name>;
User NameMQ User Name
passwordMQ password

.bindings based connectivity

As a pre-requisite, get/generate the .bindings file in MQServer. This can be done by MQ Administrator
Set the following values in the respective delivery channel for outbound / inbound






Parameter NameDescription
Destination NameMQ Queue Name
Connection FactoryMQ Queue Manager Name
Destination Providerjava.naming.factory.initial=com.ibm.mq.jms.context.WMQInitialContextFactory;java.naming.provider.url=file:///<location of .bindings file>;

© Oracle Blogs or respective owner

Related posts about /Oracle/Transport