1 Reply Latest reply on Apr 3, 2009 5:39 AM by nilkanthr

    MDB listening to Websphere MQ - invalid security authenticat

    dagast2

      I have been more or less following the popular UsingWebSphereMQSeriesWithJBossAS tutorial to configure JBoss to communicate with Websphere MQ. Things seem to be working as described, however, when I try to deploy a MDB with a <message-driven> destination of the Websphere MQ I receive the following error:

      10:45:03,182 WARN [JMSContainerInvoker] JMS provider failure detected for ListenBean
      javax.jms.JMSSecurityException: MQJMS2013: invalid security authentication supplied for MQQueueManager
      at com.ibm.mq.jms.MQConnection.createQM(MQConnection.java:2050)
      at com.ibm.mq.jms.MQConnection.createQMNonXA(MQConnection.java:1532)
      at com.ibm.mq.jms.MQQueueConnection.(MQQueueConnection.java:150)
      at com.ibm.mq.jms.MQQueueConnectionFactory.createQueueConnection(MQQueueConnectionFactory.java:185)
      at com.ibm.mq.jms.MQQueueConnectionFactory.createQueueConnection(MQQueueConnectionFactory.java:112)
      etc.

      The Websphere MQ server is not local to my machine. It seems like I would have to supply a username / password to the MDB as soon as it establishes the "listening" connection on that queue, but I cannot figure out where in the deployment files to do this.

      Any help would be appreciated, I have been stuck on this for days, let me know if I need to post more info/ complete stack trace.

        • 1. Re: MDB listening to Websphere MQ - invalid security authent
          nilkanthr

          Add <mdb-user> and <mdb-passwd> to jboss.xml as follows. This work for EJB 2.1


          <?xml version="1.0"?>
          <!DOCTYPE jboss PUBLIC "-//JBoss//DTD JBOSS 4.0//EN"
          "http://www.jboss.org/j2ee/dtd/jboss_4_0.dtd">

          <enterprise-beans>
          <message-driven>
          <ejb-name>TestMQListener</ejb-name>
          <destination-jndi-name>wsmq/TEST_REQUEST</destination-jndi-name>
          <mdb-user>abc</mdb-user>
          <mdb-passwd>xxxxxxx</mdb-passwd>
          <configuration-name>WSMQ Message Driven Bean</configuration-name>
          <invoker-bindings>

          <invoker-proxy-binding-name>
          wsmq-message-driven-bean
          </invoker-proxy-binding-name>

          </invoker-bindings>
          </message-driven>
          </enterprise-beans>