I tried it out on my setup and this is what worked for me: application.xml inside helloworld.ear:
<?xml version="1.0" encoding="UTF-8"?> | <!DOCTYPE application PUBLIC "-//Sun Microsystems, Inc.//DTD J2EE Application 1.3//EN" "http://java.sun.com/dtd/application_1_3.dtd"> | <application> | | | <module> | <java> | helloworld-appclient.jar | </java> | </module> | | <module> | <ejb> | helloworld-ejb.jar | </ejb> | </module> | </application> application-client.xml in the helloworld-appclient.jar: | <?xml version="1.0" encoding="UTF-8"?> | | <!DOCTYPE application-client PUBLIC '-//Sun Microsystems, Inc.//DTD J2EE Application Client 1.3//EN' | 'http://java.sun.com/dtd/application-client_1_3.dtd'> | | <application-client> | <display-name>My App Client</display-name> | <ejb-ref> | <ejb-ref-name>ejb/someEJB</ejb-ref-name> | <ejb-ref-type>Session</ejb-ref-type> | <home>com.helloworld.ejb.HelloWorldBeanRemoteHome</home> | <remote>com.helloworld.ejb.HelloWorldBeanRemote</remote> | </ejb-ref> | | </application-client> jboss-client.xml inside helloworld-appclient.jar: | <jboss-client> | <jndi-name>SampleApplicationClient</jndi-name> | | <ejb-ref> | <ejb-ref-name>ejb/someEJB</ejb-ref-name> | <jndi-name>com.helloworld.ejb.HelloWorldBean</jndi-name> | </ejb-ref> | | | | </jboss-client> All these files are deployed on the server and here's the packaging hierarchy: helloworld.ear | | | |-------------- META-INF | | |---------- application.xml | | | |-------------- helloworld-appclient.jar | | | | | |----------- META-INF | | | | | | | |-------- application-client.xml | | | |-------- jboss-client.xml | | | |------------- helloworld-ejb.jar | | | | | |----------- META-INF | | | | | | | |-------- ejb-jar.xml | | | |-------- jboss.xml | Now here's the code which does the lookup: package org.myapp; | | import javax.naming.Context; | import javax.naming.InitialContext; | import javax.naming.NamingException; | import javax.rmi.PortableRemoteObject; | | import com.helloworld.ejb.HelloWorldBeanRemoteHome; | | public class MyAppClient { | | /** | * @param args | */ | public static void main(String[] args) { | try { | Context ctx = new InitialContext(); | Object beanHome = ctx.lookup("java:comp/env/ejb/someEJB"); | System.out.println("Bean home: " + beanHome); | HelloWorldBeanRemoteHome home = (HelloWorldBeanRemoteHome) PortableRemoteObject.narrow(beanHome,HelloWorldBeanRemoteHome.class); | | System.out.println("Client successful"); | | } catch (NamingException e) { | // TODO Auto-generated catch block | e.printStackTrace(); | } | } | | } | Finally, the jndi.properties file which needs to be in the classpath of this class which does the lookup: | java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory | java.naming.provider.url=jnp://localhost:1099 | java.naming.factory.url.pkgs=org.jboss.naming.client | j2ee.clientName=SampleApplicationClient This worked without any issues. View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3984822#3984822 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3984822 _______________________________________________ jboss-user mailing list [email protected] https://lists.jboss.org/mailman/listinfo/jboss-user
