ibm-mqibm-integration-bus

Configure IBM ACE 12 Toolkit to listen to IBM MQ queue and write to one


I am trying to use ACE Toolkit so that it listens / reads from IBM MQ queue (Docker container, dev version, running locally).

Documentations instructs simply:

"You can use the Security identity property on the MQ node or MQEndpoint policy to pass a user name and password to the queue manager, by specifying a security identity that contains those credentials. The identity is defined using the mqsisetdbparms command."

How do I run "mqsisetdbparms" command, where can I find that command ?

I use Ubuntu Linux (for now).

Alternatively, can I test my ACE Flow so that I run MQ Manager (dev) kind of unsecured way, so that it does not expect user / password ?

Now I am getting error :

2023-01-03 20:57:07.515800: BIP2628W: Exception condition detected on input node 'MQFlow.MQ Input'. 
2023-01-03 20:57:07.515866: BIP2678E: Failed to make a server connection to queue manager 'QM1': MQCC=2; MQRC=2058. 

.

version: '3.7'

services:

  mq-manager:
    container_name: mq-manager
    build:
      context: ./mq
      dockerfile: Dockerfile
    image: ibm-mq
    ports:
      - '1414:1414'
      - '9443:9443'
    environment:
      - LICENSE=accept
      - MQ_QMGR_NAME=QM1
#      - MQ_APP_PASSWORD=passw0rd

.

FROM ibmcom/mq:latest

Solution

  • For local testing, you can configure without usage of mqsisetdbparms like this:

    1. Configure a policy in $YOUR_ACE_WORK_DIR/run/DefaultPolicies/MQ.policyxml:

      <policies>
        <policy policyType="MQEndpoint" policyName="MQ" policyTemplate="MQEndpoint">
          <connection>CLIENT</connection>
          <destinationQueueManagerName>QM1</destinationQueueManagerName>
          <queueManagerHostname>localhost</queueManagerHostname>
          <listenerPortNumber>1414</listenerPortNumber>
          <channelName>DEV.ADMIN.SVRCONN</channelName>
          <CCDTUrl></CCDTUrl>
          <securityIdentity>MqIdentity</securityIdentity>
          <useSSL>false</useSSL>
          <SSLPeerName></SSLPeerName>
          <SSLCipherSpec></SSLCipherSpec>
          <SSLCertificateLabel></SSLCertificateLabel>
          <MQApplName></MQApplName>
          <reconnectOption>default</reconnectOption>
        </policy>
      </policies>
      
    2. Configure a remote default queue manager and credentials in $YOUR_ACE_WORK_DIR/overrides/server.conf.yaml:

      remoteDefaultQueueManager: '{DefaultPolicies}:MQ'
      
      Credentials:
        ServerCredentials:
          mq:
            MqIdentity:
              username: 'admin'
              password: 'passw0rd'
      
    3. Restart your ACE server