GlassExish 3.1中客户端的ctx.lookup()时的CommunicationException

tmp*_*tmp 4 java serialization ejb glassfish

我有一个实现Serializable的实体类,我在客户端上遇到了这个错误:

javax.naming.CommunicationException:SerialContext的通信异常[myEnv = {java.naming.factory.initial = com.sun.enterprise.naming.impl.SerialInitContextFactory,java.naming.factory.url.pkgs = com.sun.enterprise.命名,java.naming.factory.state = com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl} [根异常是java.rmi.MarshalException:CORBA BAD_PARAM 1398079494也许; 嵌套异常是:java.io.NotSerializableException:---------- BEGIN服务器端堆栈跟踪---------- org.omg.CORBA.BAD_PARAM:警告:IOP00100006:Class com .sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate不是Serializable vmcid:SUN次要代码:6完成:也许

当我在做的时候 SomeService serv = (SomeService)ctx.lookup("java:global/MyProject/SomeServiceImpl");

Entity类应该在服务器和客户端都在同一个包中吗?现在,Entity类位于Client App的包(dir)中,并且位于服务器上SomeService接口所在的包(dir)中.

tmp*_*tmp 7

我添加了@Remote注释到服务接口和错误消失.