0
我必须实现两个简单的java项目;第一是EJB projectwho包含实现远程接口一个简单的服务,第二个项目是一个Java客户端,尝试调用这个EJB项目, 所以这里是我做过什么到现在为止:从客户端JAVA调用远程EJB
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)
有人可以告诉我我的代码有什么问题吗?