Create a server to connect to IBM MQ

Create a IBM® z/OS® Connect Server and configure it to connect to an IBM MQ queue manager on the same z/OS LPAR for a two-way service.

Before you begin

zosConnect-2.0 Applies to zosConnect-2.0.

Ensure that the following tasks are complete:

Pre-built services and an API are provided to simplify testing of this scenario.

About this task

This task guides you through the following steps:
  • Creating a z/OS Connect Server with ready-to-use services and a stock manager API for the IBM MQ stock query example application.
  • Configure the z/OS Connect Server's started task to include the IBM MQ libraries.
  • Test the connection to IBM MQ.

    This task does not configure security, so that you can focus on the specifics of configuring the IBM MQ service provider.

Diagram showing z/OS Connect accessing request and response queues in IBM MQ through the IBM MQ Service Provider.

Procedure

  1. Enter the following command to create a z/OS Connect Server:
    zosconnect create stockManager --template=zosconnect:sampleMqStockManager
    The following artifacts are created:
    • A stock manager API archive file, stockManager.aar, in the directory <WLP_USER_DIR>/servers/stockManager/resources/zosconnect/apis.
    • A stock query service archive file, stockQuery.sar, in the directory <WLP_USER_DIR>/servers/stockManager/resources/zosconnect/services.
    • A server.xml configuration file in the directory <WLP_USER_DIR>/servers/stockManager with the zosconnect:mqService-1.0 feature and template JMS artifacts included.
  2. Customize the z/OS Connect Server configuration file, server.xml:
    1. Locate the UNIX System Services Components directory of the version of IBM MQ that you want to connect to.
      For example, this directory might be called /usr/lpp/mqm/V9R1M0/. The directory contains a java/lib subdirectory, which contains several native libraries (.so files).
      Note: If you are going to connect to multiple versions of queue manager, use the libraries from the most recent version.
    2. Replace the two instances of MQ_INSTALL_ROOT in server.xml with the value obtained in the previous step.
      For example, if the directory you located in step 2.a is /usr/lpp/mqm/V9R1M0/java/lib, the configuration file should contain the following specification:
      <variable name="wmqJmsClient.rar.location"  
          value="/usr/lpp/mqm/V9R1M0/java/lib/jca/wmq.jmsra.rar"/>
      <wmqJmsClient nativeLibraryPath="/usr/lpp/mqm/V9R1M0/java/lib"/>
      
    3. In the jmsConnectionFactory element change QMGR_NAME to the name of a local queue manager.
  3. Set up the STEPLIB of your server to include the IBM MQ libraries.
    This step ensures that the native libraries specified in step 2.b can connect to the queue manager. Edit the JCL that starts your server, to include the following STEPLIB elements:
    //STEPLIB DD DSN=HLQ.SCSQAUTH,DISP=SHR
    //        DD DSN=HLQ.SCSQANLE,DISP=SHR
    
    In this code sample, HLQ is the high-level qualifier of the data sets containing the IBM MQ installation. If you connect to multiple versions of IBM MQ from the same server, use the data sets from the most recent version.
    Note: To improve performance, some IBM MQ load modules need to be added to the Link Pack Area (LPA). These modules are: SCSQAUTH and SCSQANLx (where x is the language letter. For example, E).

    For more information, see Opens a new tab or window Update the z/OS link list and LPA in the IBM MQ documentation.

  4. Enable the TXRRS authorized service by following the procedure that is described in Configuring the Liberty Angel process and z/OS authorized services.
    This service must be available for the IBM MQ service provider to function correctly.
  5. Start the stockManager server. For more information, see Starting and stopping the IBM z/OS Connect Servers.
  6. Validate that the TXRRS authorized service has been set up correctly by checking the server logs at <WLP_USER_DIR>/servers/stockManager/logs/messages.log.
    These are ASCII files, and should contain output similar to the following example:
        A CWWKE0001I: The server test has been launched.
        I CWWKB0103I: Authorized service group LOCALCOM is available.
        I CWWKB0103I: Authorized service group PRODMGR is available.
        I CWWKB0103I: Authorized service group SAFCRED is available.
        I CWWKB0103I: Authorized service group TXRRS is available.
        I CWWKB0103I: Authorized service group WOLA is available.
        I CWWKB0103I: Authorized service group ZOSDUMP is available.
        I CWWKB0103I: Authorized service group ZOSWLM is available.
        I CWWKB0103I: Authorized service group CLIENT.WOLA is available.
        I CWWKB0108I: IBM CORP product z/OS Connect version 03.00 successfully registered with z/OS
    
    Check the output to verify that the TXRRS authorized service group is available, as in the preceding example.

What to do next

Verify the connection by following the steps in Test the connection to IBM MQ, then follow the steps in Create a two-way IBM MQ service to create a service.