Friday, July 29, 2011

RPC Serialization

Hey there,

I want to make a RPC Call with an Object called Feature. This class
included an ArrayList with refereces to other Object. So when I do the
RPC Call and want to reach the Object from the ArrayList, i get the
following Eception:

com.google.gwt.user.client.rpc.SerializationException
at
com.google.gwt.user.client.rpc.impl.SerializerBase.getTypeHandler(SerializerBase.java:
153)
at
com.google.gwt.user.client.rpc.impl.SerializerBase.serialize(SerializerBase.java:
125)
at
com.google.gwt.user.client.rpc.impl.ClientSerializationStreamWriter.serialize(ClientSerializationStreamWriter.java:
179)
at
com.google.gwt.user.client.rpc.impl.AbstractSerializationStreamWriter.writeObject(AbstractSerializationStreamWriter.java:
126)
at
com.google.gwt.user.client.rpc.core.java.util.Collection_CustomFieldSerializerBase.serialize(Collection_CustomFieldSerializerBase.java:
45)
at
com.google.gwt.user.client.rpc.core.java.util.ArrayList_CustomFieldSerializer.serialize(ArrayList_CustomFieldSerializer.java:
40)
at
com.google.gwt.user.client.rpc.core.java.util.ArrayList_FieldSerializer.serial(ArrayList_FieldSerializer.java:
23)
at
com.google.gwt.user.client.rpc.impl.SerializerBase.serialize(SerializerBase.java:
126)
at
com.google.gwt.user.client.rpc.impl.ClientSerializationStreamWriter.serialize(ClientSerializationStreamWriter.java:
179)
at
com.google.gwt.user.client.rpc.impl.AbstractSerializationStreamWriter.writeObject(AbstractSerializationStreamWriter.java:
126)
at
de.fhdo.kuss.client.Feature_FieldSerializer.serialize(Feature_FieldSerializer.java:
51)
at
de.fhdo.kuss.client.Feature_FieldSerializer.serial(Feature_FieldSerializer.java:
64)
at
com.google.gwt.user.client.rpc.impl.SerializerBase.serialize(SerializerBase.java:
126)
at
com.google.gwt.user.client.rpc.impl.ClientSerializationStreamWriter.serialize(ClientSerializationStreamWriter.java:
179)
at
com.google.gwt.user.client.rpc.impl.AbstractSerializationStreamWriter.writeObject(AbstractSerializationStreamWriter.java:
126)
at
de.fhdo.kuss.client.SpeicherService_Proxy.test(SpeicherService_Proxy.java:
327)
at de.fhdo.kuss.client.FM_Gui.test(FM_Gui.java:834)
at de.fhdo.kuss.client.FM_Gui.<init>(FM_Gui.java:67)
at de.fhdo.kuss.client.Kuss_Projekt.buildGui(Kuss_Projekt.java:61)
at de.fhdo.kuss.client.Kuss_Projekt.onModuleLoad(Kuss_Projekt.java:
31)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.google.gwt.dev.shell.ModuleSpace.onLoad(ModuleSpace.java:396)
at
com.google.gwt.dev.shell.OophmSessionHandler.loadModule(OophmSessionHandler.java:
193)
at
com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:
510)
at
com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:
352)
at java.lang.Thread.run(Unknown Source)


Is it because of the ArrayList? Thats my Class:

public class Feature implements Serializable {

private static final long serialVersionUID = 1L;
private String name;
private ArrayList<Group> subgroups = new ArrayList<Group>();
private String context;

public Feature(){

}

public Feature(String name) {
this.name = name;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public void addSubgroup(Group group) {
subgroups.add(group);
}

public ArrayList<Group> getSubGroups() {
return subgroups;
}
}

And that is my Call:

public void test() {
AsyncCallback<String> callback = new AsyncCallback<String>() {
public void onFailure(Throwable caught) {
caught.printStackTrace();
}

public void onSuccess(String result) {
Window.alert(result);

}
};
Feature feature2 = new Feature("test Feature");
Feature feature = new Feature("root");
Group group = new Group(GroupType.mandatory,feature2);
feature.addSubgroup(group);
SpeicherService.Util.getInstance().test(feature, callback);
}

--
You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group.
To post to this group, send email to google-web-toolkit@googlegroups.com.
To unsubscribe from this group, send email to google-web-toolkit+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.

1 comment: