Я использую jboss-5.0.1 GA.Я пытаюсь вызвать EJB, развернутый на удаленном сервере JBoss, из моего локального EJB, используя JNDI.
Я включил файл jar удаленных интерфейсов в путь к классу моего локального проекта EJB.Я также добавил jnp-client.jar, jboss-ejb3-client.jar в мой путь к классам.
Я запустил JBoss на удаленной машине с флагами -b 0.0.0.0, чтобы убедиться, что он принимает удаленные подключения.
Вот код.
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)
Может кто-нибудь помочь мне указать на проблему?