ibm-messaging / mq-container

Container images for IBM® MQ
Apache License 2.0
242 stars 186 forks source link

MQRC_NOT_AUTHORIZED [2035] when connect from node to docker ibm mq #560

Open chidung091 opened 2 months ago

chidung091 commented 2 months ago

I used to be able to start the container like: docker run --env LICENSE=accept --env MQ_QMGR_NAME=QM1 --volume qm1data:/mnt/mqm --publish 1414:1414 --publish 9443:9443 --detach --env MQ_APP_PASSWORD=passw0rd --env MQ_ADMIN_PASSWORD=passw0rd --name QM1 ibm-mqadvanced-server-dev:9.3.5.0-arm64 i setup MQ_APP_PASSWORD and MQ_ADMIN_PASSWORD since i understand need to setup password to connect: I setup my node with some parameter: let qMgr = "QM1"; let qName = "DEV.QUEUE.1"; const csp = new mq.MQCSP(); csp.UserId = "app"; csp.Password = "passw0rd"; cno.SecurityParms = csp; const cd = new mq.MQCD(); cd.ConnectionName = "localhost(1414)"; cd.ChannelName = "DEV.APP.SVRCONN"; But when running it said that: error MQ call failed in CONNX: MQCC = MQCC_FAILED [2] MQRC = MQRC_NOT_AUTHORIZED [2035] Hopefully can found solution for this!

vgavinash commented 2 months ago

Looking into this.

vgavinash commented 1 month ago

@chidung091 There is no problem in the way you have set the environment variable or the password. But I doubt if there is problem in the way you are invoking it, i.e.,

let qMgr = "QM1"; let qName = "DEV.QUEUE.1"; const csp = new mq.MQCSP(); csp.UserId = "app"; csp.Password = "passw0rd"; cno.SecurityParms = csp; const cd = new mq.MQCD(); cd.ConnectionName = "localhost(1414)"; cd.ChannelName = "DEV.APP.SVRCONN";

Specifically the way you are setting the UserId. So I would suggest you to try this.

  1. Create the docker container once again. Later exec into the docker using docker exec -it <image_name> /bin/bash
  2. Navigate to /opt/mqm/samp/bin/ folder
  3. Set, export MQSAMP_USER_ID=app & export MQSERVER="DEV.APP.SVRCONN/TCP/localhost(1414)"
  4. Run, ./amqsputc DEV.QUEUE.1. It works
  5. Later please replicate the same settings in your node

Let me know the result.

Thanks, Avinash

vgavinash commented 1 month ago

For MQCSP, I found a stackoverflow query which may relate to your issue (there is no problem from mq-container's side). The link is https://stackoverflow.com/questions/54489703/how-to-use-the-userid-in-mqcsp-for-ibm-mq-connection-authentication-in-c-client. I hope it helps.

vgavinash commented 4 days ago

@chidung091 any chance you gave it a try?

chidung091 commented 4 days ago

@vgavinash see your helping but since not having time yet so i try connect directly to our company dev ibm mq and connecting successful, will try your guide soon to see what happen with local setup

vgavinash commented 1 day ago

Good to know :) its working.