2012-05-03 137 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