I get this exception when testing modal window with a page
(wicket-examples/ajax):
wicket.util.io.WicketSerializeableException: Error reading field:
locale for object class: class
wicket.markup.html.image.resource.LocalizedImageResource$1
children->children->children->children->localizedImageResource->resourceReference
NOTE: if you feel Wicket is at fault with this exception, please
report to the mailing list. You can switch to JDK based serialization
by calling: wicket.util.lang.Objects.setObjectStreamFactory(new
IObjectStreamFactory.DefaultObjectStreamFactory()) e.g. in the init
method of your application
at
wicket.util.io.ClassStreamHandler.readFields(ClassStreamHandler.java:426)
at
wicket.util.io.WicketObjectInputStream.readObjectOverride(WicketObjectInputStream.java:96)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:342)
at
wicket.util.io.ClassStreamHandler$ObjectFieldAndIndex.readField(ClassStreamHandler.java:871)
at
wicket.util.io.ClassStreamHandler.readFields(ClassStreamHandler.java:416)
at
wicket.util.io.WicketObjectInputStream.readObjectOverride(WicketObjectInputStream.java:96)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:342)
at
wicket.util.io.ClassStreamHandler$ObjectFieldAndIndex.readField(ClassStreamHandler.java:871)
at
wicket.util.io.ClassStreamHandler.readFields(ClassStreamHandler.java:416)
at
wicket.util.io.WicketObjectInputStream.readObjectOverride(WicketObjectInputStream.java:96)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:342)
at
wicket.util.io.ClassStreamHandler$ObjectFieldAndIndex.readField(ClassStreamHandler.java:871)
at
wicket.util.io.ClassStreamHandler.readFields(ClassStreamHandler.java:416)
at
wicket.util.io.WicketObjectInputStream.readObjectOverride(WicketObjectInputStream.java:96)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:342)
at
wicket.util.io.ClassStreamHandler$ObjectFieldAndIndex.readField(ClassStreamHandler.java:871)
at
wicket.util.io.ClassStreamHandler.readFields(ClassStreamHandler.java:416)
at
wicket.util.io.WicketObjectInputStream.readObjectOverride(WicketObjectInputStream.java:96)
at
wicket.util.io.WicketObjectInputStream.readObjectOverride(WicketObjectInputStream.java:133)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:342)
at
wicket.util.io.ClassStreamHandler$ObjectFieldAndIndex.readField(ClassStreamHandler.java:871)
at
wicket.util.io.ClassStreamHandler.readFields(ClassStreamHandler.java:416)
at
wicket.util.io.WicketObjectInputStream.readObjectOverride(WicketObjectInputStream.java:96)
at
wicket.util.io.WicketObjectInputStream.readObjectOverride(WicketObjectInputStream.java:133)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:342)
at
wicket.util.io.ClassStreamHandler$ObjectFieldAndIndex.readField(ClassStreamHandler.java:871)
at
wicket.util.io.ClassStreamHandler.readFields(ClassStreamHandler.java:416)
at
wicket.util.io.WicketObjectInputStream.readObjectOverride(WicketObjectInputStream.java:96)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:342)
at wicket.util.lang.Objects.byteArrayToObject(Objects.java:397)
at wicket.protocol.http.FilePageStore.getPage(FilePageStore.java:149)
at
wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.get(SecondLevelCacheSessionStore.java:138)
at wicket.Session.getPage(Session.java:528)
at
wicket.request.AbstractRequestCycleProcessor.resolveRenderedPage(AbstractRequestCycleProcessor.java:417)
at
wicket.protocol.http.WebRequestCycleProcessor.resolve(WebRequestCycleProcessor.java:131)
at wicket.RequestCycle.step(RequestCycle.java:1037)
at wicket.RequestCycle.steps(RequestCycle.java:1138)
at wicket.RequestCycle.request(RequestCycle.java:474)
at wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:248)
at wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:122)
at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1065)
at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:365)
at
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:185)
at
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:689)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:391)
at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
at org.mortbay.jetty.Server.handle(Server.java:285)
at
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:457)
at
org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:751)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:500)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:209)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:357)
at
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:329)
at
org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475)
Caused by: java.lang.NullPointerException
at
wicket.util.io.ClassStreamHandler.createObject(ClassStreamHandler.java:303)
at
wicket.util.io.WicketObjectInputStream.readObjectOverride(WicketObjectInputStream.java:91)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:342)
at
wicket.util.io.ClassStreamHandler$ObjectFieldAndIndex.readField(ClassStreamHandler.java:871)
at
wicket.util.io.ClassStreamHandler.readFields(ClassStreamHandler.java:416)
... 54 more
Johan, could you take a look?
I'm also wondering why the modal window has to read from the history
to start with... (though I admit I haven't looked into it at this
point).
Eelco