2 Replies Latest reply on Apr 18, 2007 11:58 AM by Andreas Schönberger

    Authenticating problem in accessing topic on JBoss 4.0.2 fro

    Andreas Schönberger Newbie

      Hi there,

      I got stuck with a authentication problem in accessing a remote queue from a MDB (ejb 2.1). I need your help, please.

      The Configuration is the following:

      Server A: Third party application that internally uses JBoss 4.0.2 (as I have figured out by now) produces messages and stores them in topics on server A.

      Server B: A Server running JBoss 4.0.3SP1 with MDBs that are supposed to consume messages from server A.

      Problem: I am not able to propagate user credentials from Server B to Server A.


      Here is what I did so far for configuring MDBs on server B:

      1) Created a separate jmsprovider-service.xml

      <?xml version="1.0" encoding="UTF-8"?>
      
      <service>
       <mbean code="org.jboss.jms.jndi.JMSProviderLoader"
       name="jboss.mq:service=JMSProviderLoader,name=RemoteJMSProvider,server=serverA">
       <attribute name="ProviderName">myJMSProvider</attribute>
       <attribute name="ProviderAdapterClass">org.jboss.jms.jndi.JNDIProviderAdapter</attribute>
       <!-- The queue connection factory -->
       <attribute name="QueueFactoryRef">ThirdPartyConnectionFactory</attribute>
       <!-- The topic factory -->
       <attribute name="TopicFactoryRef">ThirdPartyConnectionFactory</attribute>
       <!-- Connect to JNDI on the host "queuehost" port 1099 -->
       <attribute name="Properties">
       java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
       java.naming.factory.url.pkgs=org.jnp.interfaces
       java.naming.provider.url=20.30.0.21:1099
       </attribute>
       </mbean>
      </service>
      


      2) Created an invoker-proxy-binding in standardjboss.xml like this

       <invoker-proxy-binding>
       <name>myInvoker</name>
       <invoker-mbean>does-not-matter</invoker-mbean>
       <proxy-factory>org.jboss.ejb.plugins.jms.JMSContainerInvoker</proxy-factory>
       <proxy-factory-config>
       <JMSProviderAdapterJNDI>myJMSProvider</JMSProviderAdapterJNDI>
       <ServerSessionPoolFactoryJNDI>StdJMSPool</ServerSessionPoolFactoryJNDI>
       <MinimumSize>1</MinimumSize>
       <MaximumSize>15</MaximumSize>
       <KeepAliveMillis>30000</KeepAliveMillis>
       <MaxMessages>1</MaxMessages>
       <MDBConfig>
       <ReconnectIntervalSec>10</ReconnectIntervalSec>
       <DLQConfig>
       <DestinationQueue>queue/DLQ</DestinationQueue>
       <MaxTimesRedelivered>10</MaxTimesRedelivered>
       <TimeToLive>0</TimeToLive>
       </DLQConfig>
       </MDBConfig>
       </proxy-factory-config>
       </invoker-proxy-binding>
      


      3) Used this proxy-binding in the jboss.xml of my ejb application
       <message-driven>
       <ejb-name>MyMsg</ejb-name>
      
       <destination-jndi-name>my-topic-name</destination-jndi-name>
      
       <mdb-user>theUser</mdb-user>
       <mdb-passwd>thePassword</mdb-passwd>
       <mdb-client-id>theClientId@1</mdb-client-id>
      
       <!-- resource-adapter-name>jms-ra.rar</resource-adapter-name-->
       <!-- mdb-subscription-id>theClient@SubscriptionId</mdb-subscription-id-->
       <invoker-bindings>
       <invoker>
       <invoker-proxy-binding-name>myInvoker</invoker-proxy-binding-name>
       </invoker>
       </invoker-bindings>
       </message-driven>
      


      The corresponding ejb-jar.xml contains the following:
       <message-driven>
       <description><![CDATA[]]></description>
      
       <ejb-name>MyMsg</ejb-name>
      
       <ejb-class>testpackage.MyMsgBean</ejb-class>
       <transaction-type>Container</transaction-type>
       <message-selector>clientId in ('theClientId@1', '')</message-selector>
       <acknowledge-mode>Auto-acknowledge</acknowledge-mode>
      
       <message-driven-destination>
       <destination-type>javax.jms.Topic</destination-type>
       <subscription-durability>Durable</subscription-durability>
       </message-driven-destination>
       </message-driven>
      


      The application behaves as follows:

      on server A: I don't have full access to that system as it is a third-party product, but looking at the jboss log files of that server if found out it throws the following SocketException (apparently because the client==server B MDBs do no close the connections):

      2007.04.16 22:47:17 DEBUG [org.jboss.mq.il.uil2.SocketManager] Begin ReadTask.run
      2007.04.16 22:47:17 DEBUG [org.jboss.mq.il.uil2.SocketManager] Begin WriteTask.run
      2007.04.16 22:47:17 DEBUG [org.jboss.mq.il.uil2.SocketManager] Created ObjectOutputStream
      2007.04.16 22:47:17 DEBUG [org.jboss.mq.il.uil2.SocketManager] Created ObjectInputStream
      2007.04.16 22:47:17 DEBUG [org.jboss.mq.il.uil2.SocketManager] End WriteTask.run
      2007.04.16 22:47:17 DEBUG [org.jboss.mq.il.uil2.ServerSocketManagerHandler] Exiting on IOE
      java.net.SocketException: socket closed
       at java.net.SocketInputStream.socketRead0(Native Method)
       at java.net.SocketInputStream.read(SocketInputStream.java:129)
       at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
       at java.io.BufferedInputStream.read(BufferedInputStream.java:235)
       at org.jboss.util.stream.NotifyingBufferedInputStream.read(NotifyingBufferedInputStream.java:67)
       at java.io.ObjectInputStream$PeekInputStream.peek(ObjectInputStream.java:2200)
       at java.io.ObjectInputStream$BlockDataInputStream.readBlockHeader(ObjectInputStream.java:2380)
       at java.io.ObjectInputStream$BlockDataInputStream.refill(ObjectInputStream.java:2447)
       at java.io.ObjectInputStream$BlockDataInputStream.read(ObjectInputStream.java:2519)
       at java.io.ObjectInputStream$BlockDataInputStream.readByte(ObjectInputStream.java:2668)
       at java.io.ObjectInputStream.readByte(ObjectInputStream.java:864)
       at org.jboss.mq.il.uil2.SocketManager$ReadTask.run(SocketManager.java:290)
       at java.lang.Thread.run(Thread.java:595)
      2007.04.16 22:47:17 DEBUG [org.jboss.mq.il.uil2.SocketManager] End ReadTask.run
      


      Setting log level to TRACE for jboss.org.mq, jboss.org.jms and jboss.org.ejb.plugins.jms didn't get me more information.

      So it seems to me that a connection can be established, but that during creating a session the authentication fails. After the authentication failed, server B does not have a chance to close the connection. The fact that communication between the two servers basically happens can also be seen from the fact that the class name of the third party login interceptor is included in the stack traces of server B.

      on server B:
      - Looking at the console I simply get the following error:
      03:41:25,965 ERROR [JMSContainerInvoker] JMS provider failure detected:
      javax.jms.JMSSecurityException: <ThirdParty> Authentication Failure::Invalid User Name
       at <ThirdParty>ClientLoginInterceptor.authenticate(<ThirdParty>ClientLoginInterceptor.java:382)
       at org.jboss.mq.server.JMSServerInvoker.authenticate(JMSServerInvoker.java:287)
       at org.jboss.mq.il.uil2.ServerSocketManagerHandler.handleMsg(ServerSocketManagerHandler.java:204)
       at org.jboss.mq.il.uil2.SocketManager$ReadTask.handleMsg(SocketManager.java:369)
       at org.jboss.mq.il.uil2.msgs.BaseMsg.run(BaseMsg.java:377)
       at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:743)
       at java.lang.Thread.run(Thread.java:595)
      


      - after having enabled TRACE logging for jboss.org.mq, jboss.org.jms and jboss.org.ejb.plugins.jms I also found out the following:

      ...
      2007-04-17 03:41:16,964 TRACE [org.jboss.jms.jndi.JMSProviderLoader] Constructing
      2007-04-17 03:41:16,998 DEBUG [org.jboss.jms.jndi.JMSProviderLoader] Creating jboss.mq:service=JMSProviderLoader,name=RemoteJMSProvider,server=serverA
      2007-04-17 03:41:16,998 DEBUG [org.jboss.jms.jndi.JMSProviderLoader] Created jboss.mq:service=JMSProviderLoader,name=RemoteJMSProvider,server=serverA
      2007-04-17 03:41:16,998 DEBUG [org.jboss.jms.jndi.JMSProviderLoader] Starting jboss.mq:service=JMSProviderLoader,name=RemoteJMSProvider,server=serverA
      2007-04-17 03:41:17,004 DEBUG [org.jboss.jms.jndi.JMSProviderLoader] attempting to bind org.jboss.jms.jndi.JNDIProviderAdapter@4f3ba2 to java:/myJMSProvider
      2007-04-17 03:41:17,018 DEBUG [org.jboss.jms.jndi.JMSProviderLoader] Bound adapter to java:/myJMSProvider
      2007-04-17 03:41:17,018 DEBUG [org.jboss.jms.jndi.JMSProviderLoader] Started jboss.mq:service=JMSProviderLoader,name=RemoteJMSProvider,server=serverA
      ...
      


      and later on

      ...
      2007-04-17 03:41:25,712 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Starting jboss.j2ee:service=EJB,plugin=invoker,binding=myInvoker,jndiName=local/MyMsg@17493979
      2007-04-17 03:41:25,712 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Initializing
      2007-04-17 03:41:25,712 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Looking up provider adapter: java:/myJMSProvider
      2007-04-17 03:41:25,712 DEBUG [org.jboss.ejb.plugins.jms.JMSContainerInvoker] Provider adapter: org.jboss.jms.jndi.JNDIProviderAdapter@4f3ba2
      2007-04-17 03:41:25,717 TRACE [org.jboss.ejb.plugins.jms.DLQHandler] Constructing
      2007-04-17 03:41:25,718 DEBUG [org.jboss.ejb.plugins.jms.DLQHandler] Creating DLQHandler
      2007-04-17 03:41:25,838 DEBUG [org.jboss.mq.referenceable.SpyConnectionFactoryObjectFactory] Extracting SpyConnectionFactory from reference
      2007-04-17 03:41:25,843 DEBUG [org.jboss.mq.referenceable.SpyConnectionFactoryObjectFactory] The GenericConnectionFactory is: GenericConnectionFactory[server=org.jboss.mq.il.uil2.UILServerIL@1200089 connectionProperties={UIL_PORT_KEY=8093, ClientILService=org.jboss.mq.il.uil2.UILClientILService, UIL_ADDRESS_KEY=20.30.0.21, UIL_TCPNODELAY_KEY=yes, PingPeriod=60000, UIL_CHUNKSIZE_KEY=1000000, UIL_RECEIVE_REPLIES_KEY=No, UIL_BUFFERSIZE_KEY=2048}]
      2007-04-17 03:41:25,843 DEBUG [org.jboss.ejb.plugins.jms.DLQHandler] Using factory: org.jboss.mq.SpyConnectionFactory@324ff
      2007-04-17 03:41:25,861 DEBUG [org.jboss.mq.Connection] Setting the clockDaemon's thread factory
      2007-04-17 03:41:25,863 TRACE [org.jboss.mq.Connection] Connection Initializing userName=null Connection@971048[clientID=null rcvstate=STOPPED]
      2007-04-17 03:41:25,863 TRACE [org.jboss.mq.Connection] Getting the serverIL Connection@971048[clientID=null rcvstate=STOPPED]
      2007-04-17 03:41:25,864 TRACE [org.jboss.mq.Connection] serverIL=org.jboss.mq.il.uil2.UILServerIL@c5c32e Connection@971048[clientID=null rcvstate=STOPPED]
      2007-04-17 03:41:25,864 TRACE [org.jboss.mq.Connection] Authenticating user null Connection@971048[clientID=null rcvstate=STOPPED]
      2007-04-17 03:41:25,865 TRACE [org.jboss.mq.il.uil2.UILServerIL] Begin connect loop, maxRetries=10, delay=0
      2007-04-17 03:41:25,865 TRACE [org.jboss.mq.il.uil2.UILServerIL] Connecting with addr=20.30.0.21, port=8093, localAddr=null, localPort=0, socketFactory=javax.net.DefaultSocketFactory@af07c4, enableTcpNoDelay=true, bufferSize=2048, chunkSize=1000000
      2007-04-17 03:41:25,870 TRACE [org.jboss.mq.il.uil2.SocketManager] start called
      java.lang.Exception: Start stack trace
       at org.jboss.mq.il.uil2.SocketManager.start(SocketManager.java:96)
       at org.jboss.mq.il.uil2.UILServerIL.createConnection(UILServerIL.java:678)
       at org.jboss.mq.il.uil2.UILServerIL.getSocketMgr(UILServerIL.java:540)
       at org.jboss.mq.il.uil2.UILServerIL.authenticate(UILServerIL.java:342)
       at org.jboss.mq.Connection.authenticate(Connection.java:1114)
       at org.jboss.mq.Connection.<init>(Connection.java:267)
       at org.jboss.mq.Connection.<init>(Connection.java:338)
       at org.jboss.mq.SpyConnection.<init>(SpyConnection.java:68)
       at org.jboss.mq.SpyConnectionFactory.createConnection(SpyConnectionFactory.java:99)
       at org.jboss.mq.SpyConnectionFactory.createQueueConnection(SpyConnectionFactory.java:136)
       at org.jboss.ejb.plugins.jms.DLQHandler.createService(DLQHandler.java:156)
       at org.jboss.system.ServiceMBeanSupport.jbossInternalCreate(ServiceMBeanSupport.java:245)
       at org.jboss.system.ServiceMBeanSupport.create(ServiceMBeanSupport.java:173)
       at org.jboss.ejb.plugins.jms.JMSContainerInvoker.innerStartDelivery(JMSContainerInvoker.java:605)
       at org.jboss.ejb.plugins.jms.JMSContainerInvoker.startService(JMSContainerInvoker.java:932)
       at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:274)
       at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:230)
       at sun.reflect.GeneratedMethodAccessor11.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:597)
       at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
       at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
       at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
       at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:245)
       at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
       at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:943)
       at $Proxy0.start(Unknown Source)
       at org.jboss.system.ServiceController.start(ServiceController.java:428)
       at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:597)
       at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
       at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
       at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
       at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:245)
       at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
       at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:179)
       at org.jboss.ejb.MessageDrivenContainer.startService(MessageDrivenContainer.java:262)
       at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:274)
       at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:230)
       at sun.reflect.GeneratedMethodAccessor11.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:597)
       at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
       at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
       at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
       at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:245)
       at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
       at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:943)
       at $Proxy0.start(Unknown Source)
       at org.jboss.system.ServiceController.start(ServiceController.java:428)
       at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:597)
       at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
       at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
       at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
       at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:245)
       at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
       at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176)
       at $Proxy49.start(Unknown Source)
       at org.jboss.ejb.EjbModule.startService(EjbModule.java:395)
       at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:274)
       at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:230)
       at sun.reflect.GeneratedMethodAccessor11.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:597)
       at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
       at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
       at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
       at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:245)
       at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
       at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:943)
       at $Proxy0.start(Unknown Source)
       at org.jboss.system.ServiceController.start(ServiceController.java:428)
       at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:597)
       at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
       at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
       at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
       at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:245)
       at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
       at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176)
       at $Proxy23.start(Unknown Source)
       at org.jboss.ejb.EJBDeployer.start(EJBDeployer.java:627)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:597)
       at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
       at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
       at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:118)
       at org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
       at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:127)
       at org.jboss.mx.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:80)
       at org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
       at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:245)
       at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
       at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176)
       at $Proxy24.start(Unknown Source)
       at org.jboss.deployment.MainDeployer.start(MainDeployer.java:989)
       at org.jboss.deployment.MainDeployer.start(MainDeployer.java:979)
       at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:790)
       at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:753)
       at sun.reflect.GeneratedMethodAccessor50.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:597)
       at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
       at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
       at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:118)
       at org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
       at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:127)
       at org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
       at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:245)
       at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
       at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176)
       at $Proxy9.deploy(Unknown Source)
       at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:319)
       at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:507)
       at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:192)
       at org.jboss.deployment.scanner.AbstractDeploymentScanner.startService(AbstractDeploymentScanner.java:265)
       at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:274)
       at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:230)
       at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:597)
       at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
       at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
       at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
       at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:245)
       at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
       at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:943)
       at $Proxy0.start(Unknown Source)
       at org.jboss.system.ServiceController.start(ServiceController.java:428)
       at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:597)
       at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
       at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
       at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
       at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:245)
       at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
       at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176)
       at $Proxy4.start(Unknown Source)
       at org.jboss.deployment.SARDeployer.start(SARDeployer.java:285)
       at org.jboss.deployment.MainDeployer.start(MainDeployer.java:989)
       at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:790)
       at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:753)
       at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:737)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:597)
       at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
       at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
       at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:118)
       at org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
       at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:127)
       at org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
       at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:245)
       at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
       at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176)
       at $Proxy5.deploy(Unknown Source)
       at org.jboss.system.server.ServerImpl.doStart(ServerImpl.java:453)
       at org.jboss.system.server.ServerImpl.start(ServerImpl.java:330)
       at org.jboss.Main.boot(Main.java:187)
       at org.jboss.Main$1.run(Main.java:438)
       at java.lang.Thread.run(Thread.java:619)
      2007-04-17 03:41:25,894 TRACE [org.jboss.mq.il.uil2.SocketManager] Begin internalSendMessage, round-trip msg=org.jboss.mq.il.uil2.msgs.CheckUserMsg25881278[msgType: m_authenticate, msgID: -2147483647, error: null]
      2007-04-17 03:41:25,888 DEBUG [org.jboss.mq.il.uil2.SocketManager] Begin ReadTask.run
      2007-04-17 03:41:25,922 DEBUG [org.jboss.mq.il.uil2.SocketManager] Begin WriteTask.run
      2007-04-17 03:41:25,923 DEBUG [org.jboss.mq.il.uil2.SocketManager] Created ObjectOutputStream
      2007-04-17 03:41:25,923 TRACE [org.jboss.mq.il.uil2.SocketManager] Write msg: org.jboss.mq.il.uil2.msgs.CheckUserMsg25881278[msgType: m_authenticate, msgID: -2147483647, error: null]
      2007-04-17 03:41:25,946 DEBUG [org.jboss.mq.il.uil2.SocketManager] Created ObjectInputStream
      2007-04-17 03:41:25,946 TRACE [org.jboss.mq.il.uil2.SocketManager] Read msgType: m_authenticate, msgID: -2147483647
      2007-04-17 03:41:25,947 TRACE [org.jboss.mq.il.uil2.SocketManager] Found replyMap msg: org.jboss.mq.il.uil2.msgs.CheckUserMsg25881278[msgType: m_authenticate, msgID: -2147483647, error: null]
      2007-04-17 03:41:25,959 TRACE [org.jboss.mq.il.uil2.SocketManager] Read msg reply: org.jboss.mq.il.uil2.msgs.CheckUserMsg25881278[msgType: m_authenticate, msgID: -2147483647, error: javax.jms.JMSSecurityException: 5620 JMS Server Authentication Failure::Invalid User Name]
      2007-04-17 03:41:25,959 TRACE [org.jboss.mq.il.uil2.SocketManager] End internalSendMessage, msg=org.jboss.mq.il.uil2.msgs.CheckUserMsg25881278[msgType: m_authenticate, msgID: -2147483647, error: javax.jms.JMSSecurityException: 5620 JMS Server Authentication Failure::Invalid User Name]
      2007-04-17 03:41:25,959 TRACE [org.jboss.mq.il.uil2.SocketManager] sendMessage will throw error
      javax.jms.JMSSecurityException: <ThirdParty> Authentication Failure::Invalid User Name
       at <ThirdParty>ClientLoginInterceptor.authenticate(<ThirdParty>ClientLoginInterceptor.java:382)
       at org.jboss.mq.server.JMSServerInvoker.authenticate(JMSServerInvoker.java:287)
       at org.jboss.mq.il.uil2.ServerSocketManagerHandler.handleMsg(ServerSocketManagerHandler.java:204)
       at org.jboss.mq.il.uil2.SocketManager$ReadTask.handleMsg(SocketManager.java:369)
       at org.jboss.mq.il.uil2.msgs.BaseMsg.run(BaseMsg.java:377)
       at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:743)
       at java.lang.Thread.run(Thread.java:595)
      ...
      

      So it seems to me that the msg-user and msg-passwd tags of jboss.xml are not correctly processed or configured, because the constructor of org.jbos.mq.Connection gets called with userName=null:

      2007-04-17 03:41:25,863 TRACE [org.jboss.mq.Connection] Connection Initializing userName=null Connection@971048[clientID=null rcvstate=STOPPED]
      

      - using the same connection parameters for server a (i.e. username, password, host, port, ThirdPartyConnectionFactory, clientId and no subscriptionId) when running a standalone sample program (with jboss libraries on path) runs without any errors.


      Kind regards and thanks a lot for your information