Skip to content

errorCode=2539, reason=MQRC_CHANNEL_CONFIG_ERROR #172 #206

@hustyong

Description

@hustyong
  • Version information for MQ, mq-golang, Go compiler
    github.com/ibm-messaging/mq-golang-jms20 v1.10.0
    github.com/ibm-messaging/mq-golang/v5 v5.3.2

  • A small code sample that demonstrates the issue.

 func TestMq(t *testing.T) {
    cf := mqjms.ConnectionFactoryImpl{
		Hostname:    "10.xx.xxx.xx",
		UserName:    "xxuser",
		Password:    "xxx",
		QMName:      "xxxQM",
		PortNumber:  1414,
		ChannelName: "testch",
		KeyRepository:     "D:\\keystore\\key",
		TLSCipherSpec:     "ANY_TLS13",
		ApplName:          "xxxxxx",
		ReceiveBufferSize: 102400,
	}

	context, ctxErr := cf.CreateContext()
	if ctxErr != nil {
		fmt.Printf("error creating connection to mq: %+v , cf:%+v\n", ctxErr, cf)
	}
	if context != nil {
		defer context.Close()
	}
}

Run IBM-MQ server on Linux using Docker images(icr.io/ibm-messaging/mq:9.3.1.0-r1).

When using go-jms to access IBM-MQ on a win64 machine, error 2539 occurs.
{errorCode=2539, reason=MQRC_CHANNEL_CONFIG_ERROR, linkedErr=MQCONNX: MQCC = MQCC_FAILED [2] MQRC = MQRC_CHANNEL_CONFIG_ERROR [2539]

After searching online, it was found that this error is caused when an MQCONN call is issued from a client to connect to a queue manager but the attempt to establish communication failed. Common causes of this reason code are:
The server and client cannot agree on the channel attributes to use.
There are errors in one or both of the qm.ini or mqclient.ini configuration files.
The server machine does not support the code page used by the client.

However, the user has confirmed that the channel type is SVRCONN and all other configurations are correct. They have also tried setting MQCCSID but the same error still occurs. Additionally, there are no related error logs in the server /var/mqm/qmgrs/***/errors/AMQERR01.LOG file.

Use 9.3.1.0-IBM-MQC-Redist-Win64.zip for Windows SDK.

I am running a similar client program on another Linux machine, which can access and consume messages normally.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions