Tried with HashSet<String> instead of List<String> and
ArrayList<String> and still did not work.
Caused by: com.google.gwt.user.client.rpc.SerializationException:
java.util.HashSet/1594477813
at
com.google.gwt.user.client.rpc.impl.SerializerBase.getTypeHandler(SerializerBase.java:
153)
at
com.google.gwt.user.client.rpc.impl.SerializerBase.instantiate(SerializerBase.java:
114)
at
com.google.gwt.user.client.rpc.impl.ClientSerializationStreamReader.deserialize(ClientSerializationStreamReader.java:
111)
at
com.google.gwt.user.client.rpc.impl.AbstractSerializationStreamReader.readObject(AbstractSerializationStreamReader.java:
119)
at com.google.gwt.user.client.rpc.impl.RequestCallbackAdapter
$ResponseReader$8.read(RequestCallbackAdapter.java:106)
at
com.google.gwt.user.client.rpc.impl.RequestCallbackAdapter.onResponseReceived(RequestCallbackAdapter.java:
214)
... 60 more
@Override
public HashSet<String> testMethod2() {
HashSet<String> myList = new HashSet<String>();
myList.add("hello1");
myList.add("world2");
return myList;
}
On Aug 10, 10:37 am, Paul Robinson <[email protected]> wrote:
> You should declare your service method to return "ArrayList<String>" and not
> "List<String>". Best practice for GWT is different from general Java best
> practice because using less-specific classes forces the GWT compiler to
> generate serialization code for every serializable subclass of List.
>
> It may not fix your problem, but you should do it anyway.
>
> Paul
>
> On 10/08/11 15:51, BM wrote:
>
>
>
>
>
>
>
> > So I created two test methods to see if my POJO has a problem or not.
> > I am not even using my POJO but arraylist of String objects just to
> > make things simpler now.
>
> > 1) Verified that my gwt.xml does have following.
> > <source path="client" />
> > <source path="shared" />
>
> > 2) I created a simple Test RPC classes (MergeService,
> > MergeServiceAsync and MergeServiceImpl).
>
> > 3) Implementation code inside MergeServiceImpl contains two methods.
> > public String testMethod()
> > {
> > return "Hello World";
> > }
>
> > public List<String> testMethod2() {
> > ArrayList<String> myList = new ArrayList<String>();
> > myList.add("hello1");
> > myList.add("world2");
> > return myList;
> > }
>
> > 4) In the activity class I have following code:
> > clientFactory.getMergeServiceAsync().testMethod(new
> > AsyncCallback<String>() {
>
> > @Override
> > public void onSuccess(String result) {
> > Window.alert("testMethod - onSuccess");
> > }
>
> > @Override
> > public void onFailure(Throwable caught) {
> > caught.printStackTrace();
> > Window.alert("testMethod - onFailure");
> > }
> > });
>
> > clientFactory.getMergeServiceAsync().testMethod2(new
> > AsyncCallback<List<String>>() {
>
> > @Override
> > public void onSuccess(List<String> result) {
> > Window.alert("testMethod2 - onSuccess");
> > }
>
> > @Override
> > public void onFailure(Throwable caught) {
> > caught.printStackTrace();
> > Window.alert("testMethod2 - onFailure");
> > }
> > });
>
> > 5) When I run the code, it executes Window.alert("testMethod -
> > onSuccess") and Window.alert("testMethod2 - onFailure").
>
> > So deserializing String object works but deserializing an ArrayList of
> > String objects (ArrayList does not even contain my POJO now but plain
> > simple String object) did not work in GWT 2.3
>
> > Is this a bug in GWT 2.3? What am I really missing here?
>
> > On Aug 10, 9:38 am, Alex Dobjanschi<[email protected]> wrote:
> >> You're really not showing us the code.
> >> Please follow the guidelines then, and check one by one.
--
You received this message because you are subscribed to the Google Groups
"Google Web Toolkit" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/google-web-toolkit?hl=en.