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.
regards,
Bradley
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