I'm using WebSphere Application Server v5.0.2 on Windows 2000 Server and keeps getting Invalid security authentication error. My global security is turned off so this kind of exception should not happen.
The exception stack trace is reproduced below:
[5/12/05 14:21:58:812 CDT] 9e7373d J2CXAResource W J2CA0061W: Error creating XA Connection and Resource javax.resource.spi.ResourceAdapterInternalException: createQueueConnection failed
at com.ibm.ejs.jms.JMSCMUtils.mapToResourceException(JMSCMUtils.java:123)
at com.ibm.ejs.jms.JMSManagedQueueConnection.createConnection(JMSManagedQueueConnection.java:174)
at com.ibm.ejs.jms.JMSManagedConnection.<init>(JMSManagedConnection.java:163)
at com.ibm.ejs.jms.JMSManagedQueueConnection.<init>(JMSManagedQueueConnection.java:64)
at com.ibm.ejs.jms.WSJMSManagedQueueConnectionFactory.createManagedConnection(WSJMSManagedQueueConnectionFactory.java:84)
at com.ibm.ejs.jms.JMSManagedSessionFactory.getManagedConnection(JMSManagedSessionFactory.java(Compiled Code))
at com.ibm.ejs.jms.JMSManagedSessionFactory.getPhysicalConnection(JMSManagedSessionFactory.java:565)
at com.ibm.ejs.jms.JMSManagedSession.<init>(JMSManagedSession.java:187)
at com.ibm.ejs.jms.JMSManagedQueueSession.<init>(JMSManagedQueueSession.java:56)
at com.ibm.ejs.jms.JMSManagedQueueSessionFactory.createManagedSession(JMSManagedQueueSessionFactory.java:38)
at com.ibm.ejs.jms.JMSManagedSessionFactory.createManagedConnection(JMSManagedSessionFactory.java:272)
at com.ibm.ejs.j2c.J2CXAResourceFactory.getXAResource(J2CXAResourceFactory.java:230)
at com.ibm.ejs.jts.jta.portable.JTAXAResourceImpl.reconnectRM(JTAXAResourceImpl.java:829)
at com.ibm.ejs.jts.jta.portable.JTAXAResourceImpl.commit(JTAXAResourceImpl.java:236)
at com.ibm.ejs.jts.jts.ResourceVector.deliverOutcomeWork(ResourceVector.java:739)
at com.ibm.ejs.jts.jts.ResourceVector.deliverOutcome(ResourceVector.java:688)
at com.ibm.ejs.jts.jts.ResourceVector.access$200(ResourceVector.java:187)
at com.ibm.ejs.jts.jts.ResourceVector$OutcomeDeliveryThread.run(ResourceVector.java:998)
---- Begin backtrace for Nested Throwables
javax.jms.JMSSecurityException: MQJMS2013: invalid security authentication supplied for MQQueueManager
at com.ibm.mq.jms.MQXAQueueConnectionFactory.createXAQueueConnection(MQXAQueueConnectionFactory.java:137)
at com.ibm.ejs.jms.JMSManagedQueueConnection.createConnection(JMSManagedQueueConnection.java:157)
at com.ibm.ejs.jms.JMSManagedConnection.<init>(JMSManagedConnection.java:163)
at com.ibm.ejs.jms.JMSManagedQueueConnection.<init>(JMSManagedQueueConnection.java:64)
at com.ibm.ejs.jms.WSJMSManagedQueueConnectionFactory.createManagedConnection(WSJMSManagedQueueConnectionFactory.java:84)
at com.ibm.ejs.jms.JMSManagedSessionFactory.getManagedConnection(JMSManagedSessionFactory.java(Compiled Code))
at com.ibm.ejs.jms.JMSManagedSessionFactory.getPhysicalConnection(JMSManagedSessionFactory.java:565)
at com.ibm.ejs.jms.JMSManagedSession.<init>(JMSManagedSession.java:187)
at com.ibm.ejs.jms.JMSManagedQueueSession.<init>(JMSManagedQueueSession.java:56)
at com.ibm.ejs.jms.JMSManagedQueueSessionFactory.createManagedSession(JMSManagedQueueSessionFactory.java:38)
at com.ibm.ejs.jms.JMSManagedSessionFactory.createManagedConnection(JMSManagedSessionFactory.java:272)
at com.ibm.ejs.j2c.J2CXAResourceFactory.getXAResource(J2CXAResourceFactory.java:230)
at com.ibm.ejs.jts.jta.portable.JTAXAResourceImpl.reconnectRM(JTAXAResourceImpl.java:829)
at com.ibm.ejs.jts.jta.portable.JTAXAResourceImpl.commit(JTAXAResourceImpl.java:236)
at com.ibm.ejs.jts.jts.ResourceVector.deliverOutcomeWork(ResourceVector.java:739)
at com.ibm.ejs.jts.jts.ResourceVector.deliverOutcome(ResourceVector.java:688)
at com.ibm.ejs.jts.jts.ResourceVector.access$200(ResourceVector.java:187)
at com.ibm.ejs.jts.jts.ResourceVector$OutcomeDeliveryThread.run(ResourceVector.java:998)
When global security is enabled, JMS connections made to the JMS provider are authenticated, and access to JMS resources owned by the JMS provider are controlled by access authorizations. Also, all requests to create new connections to the JMS provider must provide a user ID and password for authentication. The user ID and password do not need to be provided by the application. If authentication is successful, then the JMS connection is created; if the authentication fails then the connection request is ended.
Anyway, i figured out that the problem is due to one sample bundled with WAS 5 installtion. I restored my OS to an earlier state and the problem doesn't happen anymore without specifying any container-managed authentication alias.