小编典典

从GWT应用程序执行RPC时出现SerializationPolicy错误

java

我收到以下异常:

com.google.gwt.user.client.rpc.SerializationException:类型“
java.lang.Long”未包含在可以通过此SerializationPolicy进行序列化的类型集中,或者无法加载其Class对象。为了安全起见,此类型将不会序列化

使用GWT 2.1和内置的Jetty服务器。根据文档,此类型肯定是可序列化的…我如何将其包括在SerializationPolicy中?


阅读 123

收藏
2020-10-20

共1个答案

小编典典

需要在RPC服务中包括一个多余的方法,该方法将许多对象“白名单”。这是由于使用泛型而产生的,GWT无法确定我可能要序列化的对象包含在某个泛型中。

我包括了可能需要作为对象成员()进行序列化的所有类型SerializableWhitelist。我向RPC Servlet对象添加了一个方法,例如:

public SerializableWhitelist junk(SerializableWhitelist l) { return null; }

值得注意的是,您 需要 将白名单数据类型既作为参数又作为返回类型包括在内,因为GWT显然维护着两个单独的序列化策略。

2020-10-20