+

Search Tips | Advanced Search

Working with MQI applications

The MQ Service Provider provides a RESTful interface to existing applications that use IBM MQ . These applications can interact with IBM MQ, using either the IBM MQ classes for JMS or the Message Queue Interface (MQI)

By default the IBM MQ classes for JMS sends messages that include an MQRFH2 header. However, most MQI applications do not use MQRFH2 headers.

If an IBM MQ classes for JMS application interacts with an MQI application that has not been designed to work with MQRFH2 headers, configuration is required to prevent the IBM MQ classes for JMS sending messages containing an MQRFH2 header. See Mapping JMS messages on to IBM MQ messages for further information.

If the MQ Service Provider is going to send messages to queues, which will be consumed by MQI applications, that do not expect an MQRFH2 header you need to configure z/OSĀ® Connect to prevent an MQRFH2 header being sent.

You achieve this configuration by adding a 'targetClient="MQ"' attribute to the relevant IBM MQ Messaging Provider queue in server.xml.

The following sample configuration shows a one-way MQ Service Provider service with an id of mqiService. In turn, this has been configured to use the MQ messaging provider queue with an id of mqiQueue.

The mqiQueue has been configured with the targetClient="MQ" attribute. This means, that when an application sends a JMS message to that queue (for example if an application issues an HTTP POST to mqiService) the message will not have an MQRFH2 header added.

z/OS Connect V1
<mqzOSConnectService 
  id="mqiService" 
  connectionFactory="jms/mqiCF" 
  destination="jms/mqiQueue"/>

<jmsQueue 
  id="mqiQueue" 
  jndiName="jms/mqiQueue">

  <properties.wmqJms 
    baseQueueName="MQIQueue
    targetClient = "MQ"/>
</jmsQueue>
z/OS Connect EE
<mqzosconnect_mqzOSConnectService 
  id="mqiService" 
  connectionFactory="jms/mqiCF" 
  destination="jms/mqiQueue"/>

<jmsQueue 
  id="mqiQueue" 
  jndiName="jms/mqiQueue">

  <properties.wmqJms 
    baseQueueName="MQIQueue
    targetClient = "MQ"/>
</jmsQueue>