• 2 replies
  • Latest Post - ‏2013-03-15T15:22:19Z by SystemAdmin
8523 Posts

Pinned topic IBM.XMS - MCA User Id

‏2013-03-14T22:37:04Z |
Hello and thanks for taking the time to look at my problem. I am using the ibm.xms library to connect to a queue to pull messages. I am currenlty receiving a 2035 exception and I was told to pass a mca user id in the format of example@domain. I was using the follwing code to make my connection:

public IConnectionFactory CreateConnectionFactory() {
XMSFactoryFactory factoryFactory = XMSFactoryFactory.GetInstance(XMSC.CT_WMQ);
IConnectionFactory cf = factoryFactory.CreateConnectionFactory();
cf.SetStringProperty(XMSC.WMQ_HOST_NAME, ServiceSettings.Default.Hostname);
cf.SetIntProperty(XMSC.WMQ_PORT, ServiceSettings.Default.Port);
cf.SetStringProperty(XMSC.WMQ_CHANNEL, ServiceSettings.Default.Channel);
cf.SetStringProperty(XMSC.WMQ_QUEUE_MANAGER, ServiceSettings.Default.QueueManager);
cf.SetIntProperty(XMSC.WMQ_BROKER_VERSION, 0);
return cf;

public IConnection CreateConnection(IConnectionFactory cf) {
IConnection connection = cf.CreateConnection();
return (connection);

Where do I set the MCA User Id? I tried setting it in the CreateConnection:

IConnection connection = cf.CreateConnection("example@domain", null);

But that did not work. Any help would be great!

Thank you!
Updated on 2013-03-15T15:22:19Z at 2013-03-15T15:22:19Z by SystemAdmin
  • Shashikanth@BLR
    160 Posts

    Re: IBM.XMS - MCA User Id

    MCAUserId must be set on the SVRCONN channel your application is using. You can set it using runmqsc or MQExplorer.

    If application is passing the userid and no MCAUserId is set on the channel, then

    1) The passed user id must be same as the logged in user id of your machine OR
    2) There must be a security exit on the MQ queue manager side to validate the passed user id. BlockIP2 is one such security exit.
  • SystemAdmin
    8523 Posts

    Re: IBM.XMS - MCA User Id

    Thanks for the response. Yes it had nothing to do with the client code. As it turned out, it was a server side permission issue.

    Thanks again!