java - GlassFish 3.1 中客户端的 ctx.lookup() 时出现 CommunicationException

标签 java serialization glassfish ejb

我有一个实现 Serializable 的实体类,但我在客户端收到此错误:

javax.naming.CommunicationException: Communication exception for SerialContext[myEnv={java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.url.pkgs=com.sun.enterprise.naming, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl} [Root exception is java.rmi.MarshalException: CORBA BAD_PARAM 1398079494 Maybe; nested exception is: java.io.NotSerializableException: ----------BEGIN server-side stack trace---------- org.omg.CORBA.BAD_PARAM: WARNING: IOP00100006: Class com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate is not Serializable vmcid: SUN minor code: 6 completed: Maybe

当我执行 SomeService serv = (SomeService)ctx.lookup("java:global/MyProject/SomeServiceImpl");

Entity 类是否应该在服务器和客户端中都在同一个包中? 现在Entity类在Client App的包(dir)和服务端SomeService接口(interface)所在的包(dir)中。

最佳答案

我向服务接口(interface)添加了 @Remote 注释,错误消失了。

关于java - GlassFish 3.1 中客户端的 ctx.lookup() 时出现 CommunicationException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5896276/

相关文章:

java - Zulu 和 Offset 的日期时间格式

java - 避免 Java Sound 类中的级联序列化?

c# - 使用 JSON.NET 反序列化一些 JSON

CloudBees 上的 mysql-connector jar 错误

java - 如何检查我的线程是否正在运行 Java

java - 简单 Java 多态性的 C++ 等价物

ruby-on-rails - 如何为 Rails 事件记录中的 JSON 列/属性设置默认值?

java - 如何将 Glassfish 设置为通过代理服务器?

java - 使用 JVisualVM 监控 Docker 上的 Glassfish 4

javascript - 字符集有什么问题?