IncompatibleRemoteServiceException caused by different RPC Protocol Versions (server: 5, client 6)

988 views
Skip to first unread message

macgyver

unread,
Jul 21, 2010, 7:54:14 AM7/21/10
to Google Web Toolkit
Hi folks,

i just upgraded one of my projects from 2.0.4 to 2.1.0.M2.
The whole reason was to use the new Data Presentation Widgets, which
indeed are very cool and working.
On the other hand I went into problems on my RPC calls. It seems like
the protocol for this has changed: from version 5 up to 6.
While debugging I got deeper into the GWT code and so found the
corresponding lines.
As you can see in the stack trace below, the exception text tells me
to reload the browser, but this does'nt help.
May anyone know why the server (on jetty) is still using version 5? Or
is there another way to force the server/client to use a specific
version?
I would be very glad if anybody can tell.

[WARN] dispatchService: An IncompatibleRemoteServiceException was
thrown while processing this call.
com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException:
This application is out of date, please click the refresh button on
your browser. ( Expecting version 5 from client, got 6. )
at
com.google.gwt.user.server.rpc.impl.ServerSerializationStreamReader.prepareToRead(ServerSerializationStreamReader.java:
432)
at com.google.gwt.user.server.rpc.RPC.decodeRequest(RPC.java:236)
at
com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:
186)
at
com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:
224)
at
com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:
62)
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)

Jason482

unread,
Jul 29, 2010, 1:42:43 PM7/29/10
to Google Web Toolkit
I'm getting pretty much the same error, except in reverse:

com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException:
This application is out of date, please click the refresh button on
your browser. ( Expecting version 6 from server, got 5. )

Have you been able to get around this using 2.1.0.M2?


On Jul 21, 6:54 am, macgyver <chrisi.kl...@web.de> wrote:
> Hi folks,
>
> i just upgraded one of my projects from 2.0.4 to 2.1.0.M2.
> The whole reason was to use the new Data Presentation Widgets, which
> indeed are very cool and working.
> On the other hand I went into problems on my RPC calls. It seems like
> the protocol for this has changed: from version 5 up to 6.
> While debugging I got deeper into the GWT code and so found the
> corresponding lines.
> As you can see in the stack trace below, the exception text tells me
> to reload the browser, but this does'nt help.
> May anyone know why the server (on jetty) is still using version 5? Or
> is there another way to force the server/client to use a specific
> version?
> I would be very glad if anybody can tell.
>
> [WARN] dispatchService: An IncompatibleRemoteServiceException was
> thrown while processing this call.
> com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException:
> This application is out of date, please click the refresh button on
> your browser. ( Expecting version 5 from client, got 6. )
>         at
> com.google.gwt.user.server.rpc.impl.ServerSerializationStreamReader.prepare­ToRead(ServerSerializationStreamReader.java:
> 432)
>         at com.google.gwt.user.server.rpc.RPC.decodeRequest(RPC.java:236)
>         at
> com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServi­ceServlet.java:
> 186)
>         at
> com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServi­ceServlet.java:
> 224)
>         at
> com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(Abstract­RemoteServiceServlet.java:

Jason482

unread,
Aug 2, 2010, 1:23:47 PM8/2/10
to Google Web Toolkit
I'm still struggling with this error. Can anyone provide any insight?
I've looked at the code in ClientSerializationStreamReader and
ServerSerializationStreamReader, and it looks like they should be in
sync in regards to RPC version numbers. I'm at a loss as to what is
causing the issue.
> > $PoolThread.run(QueuedThreadPool.java:488)- Hide quoted text -
>
> - Show quoted text -

Jason482

unread,
Aug 3, 2010, 9:39:45 AM8/3/10
to Google Web Toolkit
PEBKAC. Turns out there was a lingering gwt-servlet-2.0.3 jar on my
classpath. Hopefully it's just as simple if anyone else runs into an
issue like this.
Reply all
Reply to author
Forward
0 new messages