我一直在探索这个约一个星期左右,现在,并没有找到任何东西。我正在使用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."
...这通常是没有no-args构造函数的对象的特征,或者可能不实现Serializable
或IsSerializable
。我的DomainObject
除外。在将此方法添加到rpc之前,它们都正常工作。我甚至尝试删除我添加和重新编译的方法,它似乎不起作用。我还手动删除了生成的.gwt.rpc文件,并清除了我的浏览器缓存。如果有人知道可能导致这些麻烦的原因,我会很高兴听到它:)
答案 0 :(得分:2)
如果您的类实现Serializable
(而不是IsSerializable
),则只有在RPC接口中引用它时才会包含在序列化策略中,因此请检查它。
如果您有理由不参考该课程,可以使用this workaround。
此外,由于错误提到了类DomainObject
,我假设它是您的全局超类,我会尝试使它实现Serializable
或IsSerializable
(除了它的子类)。
如果您向我们展示一些源代码,也会有所帮助。