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

Reply via email to