2012-05-03 62 views
1

最近转移到Windows 7和升级GWT从获得2.2.0到2.4.0。GWT反序列化异常

但以前工作的应用程序会抛出此异常。

警告:VaR执行时间失败。 ENV = PRE。 com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException:本 响应不能在 com.google.gwt.user.client.rpc.impl.RequestCallbackAdapter.onResponseReceived(RequestCallbackAdapter.java:221)反序列化 在 com.google.gwt.http.client.Request.fireOnResponseReceived(Request.java:287) 在 com.google.gwt.http.client.RequestBuilder $ 1.onReadyStateChange(RequestBuilder.java:395) 在sun.reflect .GeneratedMethodAccessor34.invoke(未知来源)处 com.google.gwt sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 在java.lang.reflect.Method.invoke(Method.java:597)。 dev.shell.MethodAdaptor.invok E(MethodAdaptor.java:103) 在 com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71) 在 com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler。的java:172) 在 com.google.gwt.dev.shell.BrowserChannelServer.reactToMessagesWhileWaitingForReturn(BrowserChannelServer.java:337) 在 com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:218) 在 com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:136) 在 com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:561) 在 com.google.gwt.dev.shell.ModuleSpace.invokeNativeObject(ModuleSpace.java:269) at com.google.gwt.dev.shell.JavaScriptHost.invokeNativeObject(JavaScriptHost.java:91) at com.google。 gwt.core.client.impl.Impl.apply(Impl.java)at com.google.gwt.core.client.impl.Impl.entry0(Impl.java:213)at sun.reflect.GeneratedMethodAccessor32.invoke(未知来源)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597)at com.google.gwt.dev.shell.MethodAdaptor .invoke(MethodAdaptor.java:103) at com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71) 在 com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:172) 在 com.google.gwt.dev.shell.BrowserChannelServer.reactToMessages(BrowserChannelServer.java:292) 在 COM .google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:546) at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:363) at java.lang.Thread。运行(Thread.java:662)导致: com.google.gwt.user.client.rpc.SerializationException: java.util.ArrayList/3821976829 at com.google.gwt.user.client.rpc.impl。 SerializerBase.getTypeHandler(SerializerBase.java:153) at com.google.gwt.user.client.rpc.impl.SerializerBase.instantiate(SerializerBase.java:114) at com.google.gwt.user.client.rpc.impl.ClientSerializationStreamReader.deserialize(ClientSerializationStreamReader.java: 111) at com.google.gwt.user.client。rpc.impl.AbstractSerializationStreamReader.readObject(AbstractSerializationStreamReader.java:119) 在 com.google.gwt.user.client.rpc.impl.RequestCallbackAdapter $ ResponseReader $ 8.read(RequestCallbackAdapter.java:106) 在 com.google .gwt.user.client.rpc.impl.RequestCallbackAdapter.onResponseReceived(RequestCallbackAdapter.java:214) 在 com.google.gwt.http.client.Request.fireOnResponseReceived(Request.java:287) 在 com.google .gwt.http.client.RequestBuilder $ 1.onReadyStateChange(RequestBuilder.java:395) 在sun.reflect.GeneratedMethodAccessor34.invoke(来源不明)在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597)at com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103) at com.google.gwt.dev .shell.MethodDispatch.invoke(MethodDispatch.java:71) 在 com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:172) 在 com.google.gwt.dev.shell.BrowserChannelServer .reactToMessagesWhileWaitingForReturn(BrowserChannelServer.java:337) 在 com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:218) 在 com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM .java:136) at com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:561) 在 com.google.gwt.dev.shell.ModuleSpace.invokeNativeObject(ModuleSpace.java:269) 在 com.google .gwt.dev.shell.JavaScriptHost.invokeNativeObject(JavaScriptHost.java:91) at com.google.gwt.core.client.impl.Impl.apply(Impl.java)at com.google.gwt.core.client .impl.Impl.entry0(Impl.java:213)at sun.reflect.GeneratedMethodAccessor32.invoke(Unknown Source)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect。 Method.invoke(Method.java:597)at com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103) 在 com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71) 在 com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:172) 在 COM .google.gwt.dev.shell.BrowserChannelServer.reactToMessages(BrowserChannelServer.java:292) 在 com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:546) 在 com.google.gwt .dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:363) 在java.lang.Thread.run(Thread.java:662)

我甲肝e看到了有关类似GWT问题的问题,但与我的问题不完全相似。

我检查了synchronus和异步接口加上实现类是兼容的。

被调用的方法是

Date getSophisVarDumpTime(String environment); 

该应用程序使用GWT-RPC。

在托管模式下,我加入了响应反序列化来查找问题。

我发现SerializerBase.getTypeHandler()中的反序列化映射中的条目是。

java.sql.Date/730999118=com.google.gwt.user.client.rpc.core.java.sql.Date_FieldSerializer 

但是,响应中的类型信息是java.sql.Date/3996530531,所以未找到反序列化例程。

我已经尝试清洁和重建应用程序,但这没有效果。

不知道这些标识符如何可以不同。

任何想法都会受到欢迎。

回答

2

java.sql.Date无法反序列化,您必须将其替换为java.util.Date

+0

我应该说这只是托管模式下的一个问题,如果我部署war文件一切正常。 –

+0

这很奇怪...... GWT没有java.sql的源代码,因此实例化java.sql.Date无法工作。 – koma