I've converted a web-app from running on Weblogic/EJB2 to Jboss 4.2.0/EJB3. The app needs to connect to a message queue hosted by a legacy app running on JBoss (3.0.3). The old Weblogic version used the jbossall-client.jar from 3.0.3, however, the new version shouldn't need that, correct?
However, when I try to connect to the 3.0.3 legacy server from JBoss 4.2.0, I get the following error:
javax.naming.CommunicationException [Root exception is java.rmi.ServerException: RemoteException occurred in server thread; nested exception is: java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is: java.lang.ClassNotFoundException: org.jnp.interfaces.FastNamingProperties (no security manager: RMI class loader disabled)
13:48:30,562 ERROR Exception sending context initialized event to listener instance of class org.jboss.web.jsf.integration.config.JBossJSFConfigureListener java.lang.IncompatibleClassChangeError
Hashtable p = new Hashtable(); p.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory"); p.put(Context.PROVIDER_URL, "jnp://legacyserver:1099"); p.put(Context.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interfaces"); Context context = new InitialContext(p); QueueConnectionFactory factory = (QueueConnectionFactory)initial.lookup("ConnectionFactory"); Queue queue = (Queue)initial.lookup("queue/testQueue");