2

我一直在探索这个大约一个星期左右,现在,并没有发现任何东西。我正在使用 GWT、Hibernate 和 Gilead 构建一个应用程序,并且我正在尝试进行一个 rpc 调用,该调用从数据库中加载 LightEntity 对象的列表。这个调用非常有效,直到我对我的 rpc 接口进行了最小的更改——我添加了一个 deleteLightEntity 方法。然后我开始收到这个错误:

Type 'com.blah.shared.DomainObject' was not included in the set of types which can be 
serialized by this SerializationPolicy or its Class object could not be loaded. For 
security purposes, this type will not be serialized."

...这通常是没有无参数构造函数的对象的特征,或者可能没有实现Serializableor IsSerializable。除了我DomainObject的都这样做。在我将此方法添加到 rpc 之前,它们都可以正常工作。我什至试过删除我添加的方法并重新编译,它似乎不起作用。我还手动删除了生成的 .gwt.rpc 文件,并清除了我的浏览器缓存。如果有人知道什么可能导致这些麻烦,我会很高兴听到它:)

4

1 回答 1

2

如果您的类实现Serializable(而不是IsSerializable),则只有在 RPC 接口中引用它时,它才会包含在序列化策略中,因此请检查。如果您有理由不引用该类,则可以使用此解决方法

此外,由于错误提到了 class DomainObject,我假设它是您的全局超类,我会尝试使其实现SerializableIsSerializable也实现(除了它的子类)。

如果您向我们展示一些源代码,也会有所帮助。

于 2011-08-05T19:09:29.173 回答