This topic introduces the steps required to setup SOAtest and Virtualize (via selected supporting tools and provisioning action tools) for accessing IBM MQ.

Sections include:

This topic refers to testing services over the IBM WebSphere MQ Java API, not the standard JMS API. If you intend to send and receive messages from IBM WebSphere MQ using the JMS API, select the JMS transport option and refer to JMS.

Adding Necessary Jar Files to the Classpath 

To use the MQ option, you must add jars from a WebSphere MQ client or server installation. MQ Clients can be downloaded at

For WebSphere MQ 8, the required jar is:

For WebSphere MQ 7, the required jars are:

For WebSphere MQ 6 and earlier, the required jars are:

For all versions, these jar files can be found at [WebSphere MQ Installation directory]/java/lib.

To add these jar files to SOAtest's or Virtualize's classpath, complete the following:

  1. Choose Parasoft> Preferences.
  2. Open the Parasoft> System Properties page.
  3. Click the Add JARS button and choose and select the necessary JAR files (outlined above).

Configuring MQ Options

After selecting Websphere MQ from the Transport drop-down menu within the Transport tab of an appropriate tool, the following options display in the left pane:

MQ Address

MQ address options are divided into two categories: Connection Settings and Authentication.

When specifying MQ connection settings, you can choose between the following modes:

If you are using Default mode, complete the following fields:

HostSpecifies the name of the host running IBM MQ.
PortSpecifies the port where IBM MQ is running  (default is 1414).
ChannelSpecifies the name of the server-defined channel.
Queue managerSpecifies the queue manager’s name.
Put queueSpecifies the queue that the message is sent to.
Get queueSpecifies the queue that the message is retrieved from.

If you are using CCDT mode, complete the following fields...

CCDT fileSpecifies the location of the CCDT file (with a .tab extension). 
Queue managerSpecifies the queue manager’s name.
Put queueSpecifies the queue that the message is sent to.
Get queueSpecifies the queue that the message is retrieved from.


Select the Perform Authentication check box and enter the Username and Password to authenticate the request. If the correct username and password are not used, the request will not be authenticated.

Message Exchange Pattern

The following options are available for Message Exchange Pattern:

MQRFH2 Header

This section allows you to configure the MQRFH2 header, which is used to pass messages to and from a message broker that belongs to WebSphere Message Broker (described at 

In the MQRFH2 Header area, you can configure different parts of the request message header, then SOAtest or Virtualize will create header "folders" based on the specified settings. 

Put Messages

The following options are available for Put Messages:

Get Messages

The following options are available for Get Messages:

Queue Manager Options

The following options are available for Queue Manager Options:

MQ Queue Manager Properties

The following option is available for MQ Queue Manager Properties:


The following options are available for SSL:

If the MQ Channel does not require the client to authenticate itself, then the Key Store and Key Store Password do not need to be provided.

Once an SSL connection is attempted by specifying a CipherSuite and running the tool, the trust store, key store, and key store passwords cannot be changed.  If they are changed, SOAtest or Virtualize needs to be restarted before changes will take effect.

If using Key Stores, you will need to download and install the Unlimited Strength Java Cryptography Extension. For details, see JCE Prerequisite.

Scripting Hook

The Scripting Hook options allow you to customize MQ Properties by using scripting language such as Jython, Java, Groovy, and JavaScript.

If you need more information on using the scripting utility, please refer to the Scripting section of the tutorial. For a list of scripting APIs, choose Parasoft> Help, then look for the book titled "Parasoft SOAtest Extensibility API" (for SOAtest) or "Parasoft Virtualize Extensibility API" (for Virtualize).

The following are scripting access keys:

For example, if you like to change the Expiry time for put message to 999:

from import * 
def changeExpiry(context):
 putMessage = context.get("mqPutMessage")
 putMessage.expiry = 999

Once you are done running the tool with the above script, note the Expiry field in the Traffic header has changed to 999.

Note: Any options set in the Add MQ Hook tab overrides and takes precedence over any options set in the other tabs.

Interpreting WebSphere MQ Error Messages

When a failure occurs, MQ returns a reason code for a failure. SOAtest & Virtualize error messages report these same reason codes in order for users to interpret them.  For a list of MQ reason codes and their meaning, please refer to the IBM Knowledge Center at