in your service impl you have not used a generic version of hashmap. try the below code
public HashMap<String, String> getPropertiesMap() throws InvalidSessionException { change from *HashMap m = new HashMap(); to HashMap<String,String> m = new HashMap<String,String>(); * m.put("XXX", "xxxx"); return m; } Thanks Sudeep On Mon, Oct 26, 2009 at 11:38 PM, Palani <pas...@gmail.com> wrote: > > > Thanks for the reply. > (1) Yes, I am using generics. > > (2) I am putting only String in the map > > Below is how the code looks like > > > > // method that gets the data from the server > public void getPropertiesMap { > AsyncCallback<HashMap<String, String>> callback = > new > AsyncCallback<HashMap<String, String>>() { > public void onSuccess(HashMap<String, > String> result) { > > } > public void onFailure(Throwable caught) { > System.out.println(caught); > > } > > }; > service.getPropertiesMap(callback); > } > > > // Method declartion in the service ( I tried without the > @gwt.typeArgs declaration also). > > /** > * @gwt.typeArgs <HashMap<String, String>> > */ > HashMap<String, String> getPropertiesMap() throws > InvalidSessionException; > > > //Method declaration in ServiceAsync > void getPropertiesMap(AsyncCallback<HashMap<String, String>> > callback); > > > > > // Service Impl method > > public HashMap<String, String> getPropertiesMap() > throws InvalidSessionException { > *HashMap m = new HashMap(); > * m.put("XXX", "xxxx"); > return m; > } > > > > > On Oct 26, 12:49 pm, Sudeep S <sudee...@gmail.com> wrote: > > 2 quick questions. > > > > 1. are u using generics. > > 2. have all the objects of your hashmap implemented isSeriliazable or > > Serilizable interface. > > > > On Mon, Oct 26, 2009 at 10:51 AM, Palani <pas...@gmail.com> wrote: > > > > > Hello, > > > I am in the process of converting from gwt 1.5 to 1.7.1 and > > > getting the following error > > > when I am trying to get a HashMap from the server. > > > > > Any idea why this might happen? > > > I am using JDK 1.6.0_13. > > > > > The request looks like > > > > > 5|0|4|http://localhost:54002/Webclient/webclient/|<http://localhost:54002/Webclient/webclient/%7C> > > > E2C9084EB9E82F1F373FDB40DF5D423D|< > http://localhost:54002/Webclient/webclient/%7CE2C9084EB9E82F1F373FDB4...> > > > com.client.web.client.WebClientService|getPropertiesMapNew|1|2|3|4|0| > > > > > method Return Type shows as class java.util.HashMap > > > > > typeSignature is java.util.HashMap/962170901 > > > > > customSerializar is class > > > > com.google.gwt.user.client.rpc.core.java.util.HashMap_CustomFieldSerializer > > > > > args is [[1,["java.util.HashMap/962170901"],0,5], {XXX=xxxx}] looks > > > like in Method.invoke > > > > > public static void > > > > > > com.google.gwt.user.client.rpc.core.java.util.HashMap_CustomFieldSerializer.serialize > > > > > > (com.google.gwt.user.client.rpc.SerializationStreamWriter,java.util.HashMap) > > > throws com.google.gwt.user.client.rpc.SerializationException > > > > > ========================================================= > > > Exception while dispatching incoming RPC call > > > com.google.gwt.user.client.rpc.SerializationException: > > > java.lang.IllegalArgumentException: argument type mismatch > > > at > > > > > > com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serializeWithCustomSerializer > > > (ServerSerializationStreamWriter.java:690) > > > at > > > > > > com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serializeImpl > > > (ServerSerializationStreamWriter.java:659) > > > at > > > > > > com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serialize > > > (ServerSerializationStreamWriter.java:593) > > > at > > > > > > com.google.gwt.user.client.rpc.impl.AbstractSerializationStreamWriter.writeObject > > > (AbstractSerializationStreamWriter.java:129) > > > at > > > com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter > > > $ValueWriter$8.write(ServerSerializationStreamWriter.java:146) > > > at > > > > > > com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serializeValue > > > (ServerSerializationStreamWriter.java:530) > > > at > > > > > > com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serializeClass > > > (ServerSerializationStreamWriter.java:636) > > > at > > > > > > com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serializeImpl > > > (ServerSerializationStreamWriter.java:666) > > > at > > > > > > com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serialize > > > (ServerSerializationStreamWriter.java:593) > > > at > > > > > > com.google.gwt.user.client.rpc.impl.AbstractSerializationStreamWriter.writeObject > > > (AbstractSerializationStreamWriter.java:129) > > > at > > > com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter > > > $ValueWriter$8.write(ServerSerializationStreamWriter.java:146) > > > at > > > > > > com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serializeValue > > > (ServerSerializationStreamWriter.java:530) > > > at > com.google.gwt.user.server.rpc.RPC.encodeResponse(RPC.java:573) > > > at com.google.gwt.user.server.rpc.RPC.encodeResponseForSuccess > > > (RPC.java:441) > > > at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse > > > (RPC.java:529) > > > at > com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall > > > (RemoteServiceServlet.java:166) > > > at com.google.gwt.user.server.rpc.RemoteServiceServlet.doPost > > > (RemoteServiceServlet.java:86) > > > at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) > > > at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) > > > at > > > org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java: > > > 487) > > > at org.mortbay.jetty.servlet.ServletHandler.handle > > > (ServletHandler.java:362) > > > at org.mortbay.jetty.security.SecurityHandler.handle > > > (SecurityHandler.java:216) > > > at org.mortbay.jetty.servlet.SessionHandler.handle > > > (SessionHandler.java:181) > > > at org.mortbay.jetty.handler.ContextHandler.handle > > > (ContextHandler.java:729) > > > at > org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java: > > > 405) > > > at org.mortbay.jetty.handler.ContextHandlerCollection.handle > > > (ContextHandlerCollection.java:206) > > > at org.mortbay.jetty.handler.HandlerWrapper.handle > > > (HandlerWrapper.java:152) > > > at org.mortbay.jetty.Server.handle(Server.java:324) > > > at > > > org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java: > > > 505) > > > at org.mortbay.jetty.HttpConnection$RequestHandler.content > > > (HttpConnection.java:843) > > > at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:647) > > > at > org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211) > > > at > org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380) > > > at org.mortbay.io.nio.SelectChannelEndPoint.run > > > (SelectChannelEndPoint.java:395) > > > at org.mortbay.thread.BoundedThreadPool$PoolThread.run > > > (BoundedThreadPool.java:450) > > > Caused by: java.lang.IllegalArgumentException: argument type mismatch > > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > > > at sun.reflect.NativeMethodAccessorImpl.invoke > > > (NativeMethodAccessorImpl.java:39) > > > at sun.reflect.DelegatingMethodAccessorImpl.invoke > > > (DelegatingMethodAccessorImpl.java:25) > > > at java.lang.reflect.Method.invoke(Method.java:597) > > > at > > > > > > com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serializeWithCustomSerializer > > > (ServerSerializationStreamWriter.java:678) > > > --~--~---------~--~----~------------~-------~--~----~ 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+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en -~----------~----~----~----~------~----~------~--~---