ErraiApp.properties listed serialized and mapped types not working
jaredo Aug 27, 2012 6:55 PMWe are using 2.1.0-SNAPSHOT. We had a piece of functionality with types being listed in the ErraiApp.properties file that was working about a week ago, and after updating SNAPSHOT to current the marshalling functionality that once worked no longer does.
Here is the scenario:
I have 2 types listed in ErraiApp.properties and 2 corresponding mappings.
ErraiApp.properties snippet:
errai.marshalling.serializableTypes=com.sencha.gxt.data.shared.loader.PagingLoadConfigBean \ com.sencha.gxt.data.shared.loader.PagingLoadResultBean errai.marshalling.mappingAliases=com.sencha.gxt.data.shared.loader.PagingLoadConfig->com.sencha.gxt.data.shared.loader.PagingLoadConfigBean \ com.sencha.gxt.data.shared.loader.PagingLoadResult->com.sencha.gxt.data.shared.loader.PagingLoadResultBean
During startup the EnvUtil maps the classes as serializable types (into exposedClasses line 166) and the mappings (into mappingAliases, line 201) correctly. (This had been an issue that was recently fixed where it would only pick up one of the ErraiApp configuration types).
But, when I execute an Rpc call (Referenced in the application code as Caller<MyService> ) that takes one of the types as a paramater and returns the other type, I end up getting the following stack trace when the request goes out:
no marshalling definition available for type:com.sencha.gxt.data.shared.loader.PagingLoadConfigBean -- Additional Details: java.lang.RuntimeException: no marshalling definition available for type:com.sencha.gxt.data.shared.loader.PagingLoadConfigBean org.jboss.errai.marshalling.client.util.MarshallUtil.getMarshaller(MarshallUtil.java:126) org.jboss.errai.marshalling.client.util.EncDecUtil.arrayMarshall(EncDecUtil.java:50) org.jboss.errai.marshalling.client.marshallers.AbstractCollectionMarshaller.doMarshall(AbstractCollectionMarshaller.java:36) org.jboss.errai.marshalling.client.marshallers.AbstractCollectionMarshaller.doMarshall(AbstractCollectionMarshaller.java:1) org.jboss.errai.marshalling.client.marshallers.AbstractBackReferencingMarshaller.marshall(AbstractBackReferencingMarshaller.java:55) org.jboss.errai.marshalling.client.marshallers.AbstractBackReferencingMarshaller.marshall(AbstractBackReferencingMarshaller.java:36) org.jboss.errai.marshalling.client.marshallers.ErraiProtocolEnvelopeMarshaller.marshall(ErraiProtocolEnvelopeMarshaller.java:99) org.jboss.errai.marshalling.client.protocols.ErraiProtocol.encodePayload(ErraiProtocol.java:40) org.jboss.errai.bus.client.util.BusTools.encodeMessage(BusTools.java:55) org.jboss.errai.bus.client.framework.ClientMessageBusImpl.encodeAndTransmit(ClientMessageBusImpl.java:516) org.jboss.errai.bus.client.framework.ClientMessageBusImpl.access$1(ClientMessageBusImpl.java:501) org.jboss.errai.bus.client.framework.ClientMessageBusImpl$RemoteMessageCallback.callback(ClientMessageBusImpl.java:750) org.jboss.errai.bus.client.framework.ClientMessageBusImpl.directStore(ClientMessageBusImpl.java:477) org.jboss.errai.bus.client.framework.ClientMessageBusImpl.send(ClientMessageBusImpl.java:446) org.jboss.errai.bus.client.api.base.CommandMessage.sendNowWith(CommandMessage.java:328) org.jboss.errai.bus.client.api.builder.DefaultRemoteCallBuilder$1.sendNowWith(DefaultRemoteCallBuilder.java:134) org.jboss.errai.bus.client.framework.RpcProxyLoaderImpl$1FakeServiceImpl.getPersons(RpcProxyLoaderImpl.java:83) com.primetherapeutics.ui.client.uimetaphor.PersonSearchView$RpcProxyExtension.load(PersonSearchView.java:55) com.primetherapeutics.ui.client.uimetaphor.PersonSearchView$RpcProxyExtension.load(PersonSearchView.java:1) com.sencha.gxt.data.client.loader.RpcProxy.load(RpcProxy.java:32) com.sencha.gxt.data.shared.loader.Loader.loadData(Loader.java:235) com.sencha.gxt.data.shared.loader.Loader.load(Loader.java:183) com.sencha.gxt.data.shared.loader.Loader.load(Loader.java:168) com.primetherapeutics.ui.client.grid.GridBuilder$1$1.execute(GridBuilder.java:43) com.google.gwt.core.client.impl.SchedulerImpl$Task$.executeScheduled$(SchedulerImpl.java:50) com.google.gwt.core.client.impl.SchedulerImpl.runScheduledTasks(SchedulerImpl.java:228) com.google.gwt.core.client.impl.SchedulerImpl.flushPostEventPumpCommands(SchedulerImpl.java:388) com.google.gwt.core.client.impl.SchedulerImpl$Flusher.execute(SchedulerImpl.java:78) com.google.gwt.core.client.impl.SchedulerImpl.execute(SchedulerImpl.java:138) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) java.lang.reflect.Method.invoke(Method.java:601) com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103) com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71) com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:172) com.google.gwt.dev.shell.BrowserChannelServer.reactToMessagesWhileWaitingForReturn(BrowserChannelServer.java:337) com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:218) com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:136) com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:561) com.google.gwt.dev.shell.ModuleSpace.invokeNativeObject(ModuleSpace.java:269) com.google.gwt.dev.shell.JavaScriptHost.invokeNativeObject(JavaScriptHost.java:91) com.google.gwt.core.client.impl.Impl.apply(Impl.java) com.google.gwt.core.client.impl.Impl.entry0(Impl.java:213) sun.reflect.GeneratedMethodAccessor69.invoke(Unknown Source) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) java.lang.reflect.Method.invoke(Method.java:601) com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103) com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71) com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:172) com.google.gwt.dev.shell.BrowserChannelServer.reactToMessages(BrowserChannelServer.java:292) com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:546) com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:363) java.lang.Thread.run(Thread.java:722)
Does anyone recognize this to be a regression from some recent changes or restructuring to how the Marshalling is working for mapped types?
Thannks!
Jared