Hi, all ... I have a GWT service that is trying to return a class GetDeviceListResult. This class contains an inner class Device.
When the client tries to call the service, the GWT serializer is invoked, and it fails to serialize the GetDeviceListResult class, saying that the inner class cannot be serialized. (In the example below, it's because of the presence of the xxx member.) Are inner classes not serializable?? ... or am I just doing this wrong?? My call is an Async call, if that matters. Thanks! ------------------ The service has this declaration: public GetDeviceListResult getDeviceList(); The offending GetDeviceListResult class (containing the Device inner class) is: package org.paceproject.palms.browserproxy.client.messages; import com.google.gwt.user.client.rpc.IsSerializable; public class GetDeviceListResult implements IsSerializable { private class Device implements IsSerializable { public Device() { } } public Device xxx; public GetDeviceListResult() {} } The service itself is: package org.paceproject.palms.browserproxy.server; mport org.paceproject.palms.browserproxy.client.DeviceService; import org.paceproject.palms.browserproxy.client.messages.GetDeviceListResult; import com.google.gwt.user.server.rpc.RemoteServiceServlet; public class DeviceServiceImpl extends RemoteServiceServlet implements DeviceService { private static final long serialVersionUID = 1L; public GetDeviceListResult getDeviceList() { return new GetDeviceListResult(); } } This is the log: [DEBUG] Rebinding org.paceproject.palms.browserproxy.client.DeviceService [DEBUG] Invoking <generate-with class='com.google.gwt.user.rebind.rpc.ServiceInterfaceProxyGenerator'/ > [DEBUG] Generating client proxy for remote service interface 'org.paceproject.palms.browserproxy.client.DeviceService' [DEBUG] Analyzing 'org.paceproject.palms.browserproxy.client.DeviceService' for serializable types [DEBUG] Analyzing methods: [DEBUG] public abstract org.paceproject.palms.browserproxy.client.messages.GetDeviceListResult getDeviceList(java.lang.String studyID) [DEBUG] Return type: org.paceproject.palms.browserproxy.client.messages.GetDeviceListResult [DEBUG] org.paceproject.palms.browserproxy.client.messages.GetDeviceListResult [DEBUG] Analyzing the fields of type 'org.paceproject.palms.browserproxy.client.messages.GetDeviceListResult' that qualify for serialization [DEBUG] public org.paceproject.palms.browserproxy.client.messages.GetDeviceListResult.Device xxx [DEBUG] org.paceproject.palms.browserproxy.client.messages.GetDeviceListResult.Device [ERROR] Type 'org.paceproject.palms.browserproxy.client.messages.GetDeviceListResult.Device' was not serializable and has no concrete serializable subtypes [ERROR] Type 'org.paceproject.palms.browserproxy.client.messages.GetDeviceListResult' was not serializable and has no concrete serializable subtypes [ERROR] Deferred binding failed for 'org.paceproject.palms.browserproxy.client.DeviceService'; expect subsequent failures --~--~---------~--~----~------------~-------~--~----~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/Google-Web-Toolkit?hl=en -~----------~----~----~----~------~----~------~--~---