Hi, I have the following problem when I tried to establish a JNDI connectoin from a remote machine to the EJB3 JBOSS server thought JNDI.
# ant test Buildfile: build.xml compile-test: [javac] Compiling 4 source files test: [junit] Testsuite: Client [junit] Tests run: 1, Failures: 0, Errors: 1, Time elapsed: 0 sec [junit] [junit] Null Test: Caused an ERROR [junit] Client (wrong name: com/ip6networks/calling_card_registration/test/Client) [junit] java.lang.NoClassDefFoundError: Client (wrong name: com/ip6networks/calling_card_registration/test/Client) [junit] at java.lang.ClassLoader.defineClass1(Native Method) [junit] at java.lang.ClassLoader.defineClass(ClassLoader.java:620) [junit] at java.lang.ClassLoader.loadClass(ClassLoader.java:251) [junit] at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319) [junit] at java.lang.Class.forName0(Native Method) [junit] at java.lang.Class.forName(Class.java:247) [junit] [junit] [junit] Test Client FAILED BUILD SUCCESSFUL Total time: 4 seconds Main program: # cat Client.java package com.ip6networks.calling_card_registration.test; import com.ip6networks.calling_card_registration.test.Calculator; import com.ip6networks.calling_card_registration.test.CalculatorRemote; import com.ip6networks.calling_card_registration.test.ServiceLocator; public class Client { public static void main(String[] args) throws Exception { Calculator calculator = getSession(); System.out.println("in Client class"); System.out.println("1 + 1 = " + calculator.add(1, 1)); System.out.println("1 - 1 = " + calculator.subtract(1, 1)); } private static Calculator getSession() throws Exception { Calculator mgr = null; mgr = (Calculator) ServiceLocator.getInstance().getService("Calculator"); if (mgr == null) { //throw new SystemErrorException("Unable to connect to service"); throw new Exception("Unable to connect to service"); } else { return mgr; } } } It complained ServiceLocator..... cant be casted to Calculator. Here is the ServiceLocator program: # cat ServiceLocator.java package com.ip6networks.calling_card_registration.test; import javax.naming.Context; import javax.naming.InitialContext; import java.util.*; import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.Log; public class ServiceLocator { private Map<String, java.lang.Object> cache; private static ServiceLocator ourInstance = new ServiceLocator(); private static final Log logger = LogFactory .getLog(ServiceLocator.class); public static ServiceLocator getInstance() { return ourInstance; } private ServiceLocator() { this.cache = Collections.synchronizedMap( new HashMap<String, java.lang.Object>()); } public java.lang.Object getService(String serviceName) { String serviceHost = "192.168.1.242"; if (this.cache.containsKey(serviceName)) { return this.cache.get(serviceName); } try { java.lang.Object service = this.getContext( serviceHost).lookup( serviceName + "Bean/remote"); cache.put(serviceName, service); return service; } catch (Exception e) { e.printStackTrace(); logger.error("Unable to bind to service " + serviceName + ". Hostname: " + serviceHost, e); return null; } catch (Throwable e) { e.printStackTrace(); logger.error("Unable to bind to service " + serviceName + ". Hostname: " + serviceHost, e); return null; } } public java.lang.Object getService(String serviceName, String serviceHost) { String key = serviceHost + "." + serviceName; if (this.cache.containsKey(key)) { return this.cache.get(key); } else { try { java.lang.Object service = this.getContext( serviceHost).lookup( serviceName + "Bean/remote"); cache.put(key, service); return service; } catch (Exception e) { logger.error("Unable to bind to service " + serviceName + ". Hostname: " + serviceHost); return null; } } } private Context getContext(String serviceHost) throws javax.naming.NamingException { Properties properties = new Properties(); properties.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory"); properties.put(Context.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interfaces"); properties.put(Context.PROVIDER_URL, serviceHost + ":1099"); return new InitialContext(properties); } } Thanks Sam View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4243629#4243629 Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4243629 _______________________________________________ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user