catch22
catch22

Reputation: 224

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

Upvotes: 0

Views: 1775

Answers (1)

Daniel Steinmann
Daniel Steinmann

Reputation: 2199

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

Upvotes: 2

Related Questions