无法从本地EJB进行远程JNDI调用

时间:2011-10-06 05:15:19

标签: jboss jndi

我正在使用jboss-5.0.1 GA。 我正在尝试使用JNDI调用从本地EJB部署在远程JBoss服务器上的EJB。

我在我的本地EJB项目的类路径中包含了远程接口jar文件。我也在我的类路径中添加了jnp-client.jar,jboss-ejb3-client.jar。

我已经在远程机器上使用-b 0.0.0.0标志启动了JBoss,以确保它接受远程连接。

这是代码。

    SatheBeanRemote sbr = null;  //Is the remote interface for the remote bean
    Properties p = new Properties();
    p.put(Context.PROVIDER_URL, "jnp://10.73.17.76:1099"); //remote Jboss IP
    p.put(Context.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interfaces");
    p.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
    Context context;
    try {
        context = new InitialContext(p);            
        sbr = (SatheBeanRemote) context.lookup("RemoteEAR/SatheBean/remote");

    } catch (NamingException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

我收到以下异常。

javax.ejb.EJBException: Unexpected Error
java.lang.NoClassDefFoundError: com/netapp/beans/SatheBeanRemote
at com.netapp.balaji.greeting.GreetingBean.sayGreeting(GreetingBean.java:78)

任何人都可以帮我指出这个问题吗?

1 个答案:

答案 0 :(得分:0)

可能您必须在客户端文件夹的类路径中添加EJB Project,它可能会解决问题