Мне нужно реализовать два простых Java-проекта; первый является EJB projectwho содержит простую службу, которые реализуют удаленный интерфейс, а второй проект является Java-клиент, который пытаются назвать это EJB проект, так вот что я сделал до сих пор:вызов удаленного EJB от клиента JAVA
Context context = new InitialContext(jndiProperties);
TestServiceRemote proxy = (TestServiceRemote) context
.lookup("java:global/testEJB/TestService!services.TestServiceRemote");
System.out.println(proxy.showHello());
и это моя служба EJB:
@Stateless
public class TestService implements TestServiceRemote {
public TestService() {
}
@Override
public String showHello() {
return "Hello";
}
}
наконец это мой Удаленный интерфейс:
@Remote
public interface TestServiceRemote {
public String showHello();
}
я развернула EJB в WIldfly 9, но когда я запускаю Java клиент я получаю эту ошибку, показанную на консоли:
Exception in thread "main" javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:662)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:313)
at javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:350)
at javax.naming.InitialContext.lookup(InitialContext.java:417)
at swing.testClient.main(testClient.java:22)
Может кто-нибудь сказать мне, что я не в порядке?