Hi All,
I have been doing some development work with GWT 1.5m2 over the past
few days, specifically porting some of the RPC server side stuff to
work in an OSGi bundle scenario.
At this point in time I pretty much have all RPC calls working
correctly except for those involving a List. When sending data
involving a list of string values back to the server I get:
Caused by: com.google.gwt.user.client.rpc.SerializationException:
Invalid type signature for java.util.ArrayList
at
com.google.gwt.user.server.rpc.impl.ServerSerializationStreamReader.validateTypeVersions(ServerSerializationStreamReader.java:
654)
at
com.google.gwt.user.server.rpc.impl.ServerSerializationStreamReader.deserialize(ServerSerializationStreamReader.java:
457)
at
com.google.gwt.user.client.rpc.impl.AbstractSerializationStreamReader.readObject(AbstractSerializationStreamReader.java:
61)
at
com.google.gwt.user.server.rpc.impl.ServerSerializationStreamReader
$ValueReader$8.readValue(ServerSerializationStreamReader.java:124)
at
com.google.gwt.user.server.rpc.impl.ServerSerializationStreamReader.deserializeValue(ServerSerializationStreamReader.java:
362)
The RPC method signature in question is:
public void saveContent(String content, String property, List<String>
value) / public void saveContent(String content, String property,
List<String> value, AsyncCallback callback);
I have also attempted making the above signatures specifically accept
ArrayList instead of List but this has not helped. The above
signatures seemingly operated fine in a non OSGi environment.
I believe this may be caused by one of the following and I was hoping
to get some help from someone more familiar with the internals.
1. The GWT source code I am working from at
http://www.google.com/codesearch?hl=en&q=+package:http://google-web-toolkit.googlecode.com/svn+RPC+show:1Inn03YDPh8:hVsyMz8Y-S8:1Inn03YDPh8&sa=N&cd=1&ct=rc&cs_p=http://google-web-toolkit.googlecode.com/svn&cs_f=trunk/user/src/com/google/gwt/user/server/rpc/RPC.java
is not the 1.5 code base, if so this is likely to be my major issue,
could someone kindly point me the correct direction
2. My creation of a ServerSerializationStreamReader in my re-
implemented RPC class (essentially a copy paste of the natively
supplied code with minor changes) is being passed an incorrect
classloader object hence calls like this:
SerializabilityUtil.getSerializationSignature(instanceClass); are
returning incorrect values
3. OSGi containers always supply java.* from a specific classloader
different to the current bundle which essentially ends up being the
same situation as 2 above
4. Something i am just not smart enough to figure out (likely :P).
Any assistance greatly appreciated.