I'm getting a similar error, except it can't deserialize a Double,
rather than a NullPointerException. Any chance you're using a
_CustomFieldSerializer? (I ask because I _am_ using one, and the
failure occurs midway through its deserialize call, although my stack
trace is almost identical to yours.)
I've filed issue 1129 in response to this problem, so maybe you can
help the GWT people narrow down the problem?
Ian
--
Tired of pop-ups, security holes, and spyware?
Try Firefox: http://www.getfirefox.com
The deserialization code is failing (probably because you've sent it
something it can't deserialize) and then wrapping the failure in the
exception that says "This application is out of date...". The stack
trace that appears in the tree logger should show you which class is
the problem (it'll show up as com.example.MyClass/571230, where the
number is a checksum of com.example.MyClass' source code).
Date newDate = new Date(dateBaseDate.getTime()));
and passed the newDate in on of the fields of the return type.
Read more about it in this thread
http://groups.google.com/group/Google-Web-Toolkit/browse_thread/thread/2796dfc956e40a57/430e227dbd57bb31?lnk=gst&q=date+sql+date&rnum=5&hl=en#430e227dbd57bb31
return new String("rpc returned string");
But it show the same message, and nothing more.
I have totally no idea what and how to trace around.
Now that it's simply a String, I guess it shouldn't have anything
wrong with deserialization, right? Could it be anything else?
Thanks.
Thanks for the reply first : )
It's a great comfort to learn it's ok to post these code here.
I've tried the following code in a new, clean helloWorld project.
And it failed as well.
In server side, looks like:
public String generateXSLTFile( String rowExpandNode, String[]
checkedNodesArray )
{
String returning= new String( "generateXSLTFile call succeed" );
return returning;
}
======================================
In client side, the interface looks like :
package demo1.client;
import com.google.gwt.user.client.rpc.RemoteService;
public interface GenerateXSLTFile extends RemoteService
{
public String generateXSLTFile( String rowExpandNode, String[]
checkedNode );
}
==================================================
And the Asynchrous interface looks like:
package demo1.client;
import com.google.gwt.user.client.rpc.AsyncCallback;
interface GenerateXSLTFileAsync
{
public void generateXSLTFile( String rowExpandNode, String[]
checkedNodes, AsyncCallback callback );
}
====================================================
I hope these would be useful enough. I'm quite eager to know what's
wrong.
Welcome to ask more info if neccessary. Thanks.
Gee...
Environment: GWT module that uses RPC, Tomcat 5.5, %CATALINA_HOME%/
shared/lib/gwt-user-1.4.10.jar.
Resulted exception message: "This application is out of date, please
click the refresh button on your browser". Server response contains a
message: "Could not locate requested interface 'MyServiceInterface' in
default classloader".
Solution: remove gwt-user library from shared libraries.
Explanation:
- read "how to" about tomcat class loaders -
http://tomcat.apache.org/tomcat-5.0-doc/class-loader-howto.html
- analize RPC::getClassFromSerializedName(serializedName) source
- GWT RPC tries to load class for name through "Common" class loader,
while it should use "Webapp" class loader through class provided from
RPC::decodeRequest(encodedRequest, class)
I hope GWT developers will fix this bug.
cheers,
Cameron
in my case, i annotated a method to return a List of object A, but in
actual fact i returned a List of B, though B is also
isserizable.......after i corrected the annotation, ""This application
is out of date, please click the refresh button on your browser" was
gone....
The annotaion in my code was as follows:
@gwt.typeArgs <the.path.classA, java.util.List>
when, in fact, should have been:
@gwt.typeArgs <the.path.classA, java.util.List<the.path.clasB>>
The first one gives the quite meaningful error: "This application is
out of date, please click the refresh button on your browser"
My mistake. If anyone can learn from it, it will be worth the trouble.
Danael
I encountered this problem with the following:
-------
/**
* @gwt.typeArgs <java.lang.String>
*/
public List getWorkspaces();
--------
and in the implementation I returned:
public List getWorkspaces() {
LinkedList l = new LinkedList();
l.add( "foo" );
return l;
}
quite certain 1.3 managed to solve this case. AFAIK it's only client
side ArrayList is the only subtype of List used, can't remember
reading the same restriction applies to server side.
I believe 1.4.10 uses this in the *.html file:
<script language='javascript'
src='com.company.App.nocache.js'></script>
1.3.x used the gwt.js script with the META tag at the top.
It's probably that part of the 1.3 app is still cached in the browser,
but you recompiled and changed interfaces and
this certainly would cause a problem at the client side.
This error should go away if you use the 1.4 method of setting the GWT
app in the HTML.
G>