Monday, April 30, 2012

GWT Serialization error with HTML String content

Using GWT 2.4. I'm trying to track down the root cause of this...not
sure if I'm doing something wrong or this is a bug someplace.

30 Apr 2012 13:54:48,953 ERROR AtmosphereHandler []: Failed to
deserialize message
com.google.gwt.user.client.rpc.SerializationException: Too few tokens
in RPC request
at
com.google.gwt.user.server.rpc.impl.ServerSerializationStreamReader.extract(ServerSerializationStreamReader.java:
809)
at
com.google.gwt.user.server.rpc.impl.ServerSerializationStreamReader.deserializeStringTable(ServerSerializationStreamReader.java:
735)
at
com.google.gwt.user.server.rpc.impl.ServerSerializationStreamReader.prepareToRead(ServerSerializationStreamReader.java:
449)
at
org.atmosphere.gwt.server.AtmosphereGwtHandler.deserialize(AtmosphereGwtHandler.java:
283)
at
ipt.tas.chatdashboard.ui.gwt.server.AtmosphereHandler.deserialize(AtmosphereHandler.java:
68)
at
org.atmosphere.gwt.server.AtmosphereGwtHandler.doServerMessage(AtmosphereGwtHandler.java:
237)
at
org.atmosphere.gwt.server.AtmosphereGwtHandler.onRequest(AtmosphereGwtHandler.java:
183)
at
org.atmosphere.cpr.AsynchronousProcessor.action(AsynchronousProcessor.java:
217)
at
org.atmosphere.cpr.AsynchronousProcessor.suspended(AsynchronousProcessor.java:
166)
at
org.atmosphere.container.JettyCometSupport.service(JettyCometSupport.java:
99)
at
org.atmosphere.cpr.AtmosphereFramework.doCometSupport(AtmosphereFramework.java:
1162)
at
org.atmosphere.cpr.AtmosphereServlet.doPost(AtmosphereServlet.java:
293)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:
362)
at
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:
216)
at
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:
181)
at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:
729)
at
org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:
152)
at
org.mortbay.jetty.handler.RequestLogHandler.handle(RequestLogHandler.java:
49)
at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:
152)
at org.mortbay.jetty.Server.handle(Server.java:324)
at
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:
505)
at org.mortbay.jetty.HttpConnection
$RequestHandler.content(HttpConnection.java:843)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:647)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:
211)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:
380)
at
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:
395)
at org.mortbay.thread.QueuedThreadPool
$PoolThread.run(QueuedThreadPool.java:488)
Caused by: java.lang.IndexOutOfBoundsException: Index: 11, Size: 11
at java.util.ArrayList.rangeCheck(ArrayList.java:604)
at java.util.ArrayList.get(ArrayList.java:382)
at
com.google.gwt.user.server.rpc.impl.ServerSerializationStreamReader.extract(ServerSerializationStreamReader.java:
807)
... 30 more

This happens when I send the following HTML as a string to the
Atmosphere comet framework but that framework just seems to pass this
to GWT's ClientSerializationStreamWriter &
ServerSerializationStreamReader. Here is the string that fails:
<div style="font-family: Arial; font-size: 10pt;"><div
class="chatline" style="text-indent:-10px; margin-left:10px;"><span
class="timestamp-self" style="color:#FF0000;">(Apr 30 2012 15:11:33) </
span><span class="from-self" style="color:#FF0000;">tom: </span><span
class="message">a</span></div>
</div>

But this string works fine with same method:
<div style="font-family: Arial; font-size: 10pt;"></div>

What's going on here? Is there some known restrictions sending HTML
with GWT serialization? How to fix this?

-Dave


--
You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group.
To post to this group, send email to google-web-toolkit@googlegroups.com.
To unsubscribe from this group, send email to google-web-toolkit+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.

No comments:

Post a Comment