Dear Community, I have a problem with my application which uses JPA on Datanucleus and RequestFactory,
It has 3 JPA Entiries: (User) -> (Address) -> (City) @Entity @Table(name = "T_USER_1") public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Basic private String firstName; @Basic private String lastName; @Basic private Address primaryAddress; .... } @Entity @Table(name = "T_ADDRESS_1") public class Address { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Extension(vendorName = "datanucleus", key = "gae.encoded-pk", value = "true") // This is a Datanucleus requirement (Child must have id of type Key or a String but with this annotation) private String id; @Basic private String street; @Basic private City city; ... } @Entity @Table(name = "T_CITY_1") public class City { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Extension(vendorName = "datanucleus", key = "gae.encoded-pk", value = "true") private String id; @Basic private String cityName; ... } It has all Proxies: (UserProxy, AddressProxy, CityProxy) and the RequestContexts: (UserRequest, AddressRequest, CityRequest) My client code looks like this: UserRequest userRequest = mySampleRequestFactory.userRequest(); // ====== Step1: Create the JPA entities using the Proxy interfaces ======// UserProxy newUser = userRequest.create(UserProxy.class); AddressProxy firstAddress = userRequest.create(AddressProxy.class); CityProxy city = userRequest.create(CityProxy.class); newUser.setFirstName(firstNameTextBox.getText()); newUser.setLastName(lastNameTextBox.getText()); firstAddress.setStreet(primaryAddressTextBox.getText()); city.setCityName(cityTextBox.getText()); firstAddress.setCity(city); newUser.setPrimaryAddress(firstAddress); // ====== Step2: Call Request Factory ======// userRequest.persist().using(newUser).fire(new Receiver<UserProxy>() { @Override public void onSuccess(UserProxy employee) { System.out.println("========== SUCESS ========="); } @Override public void onFailure(ServerFailure error) { System.out.println("======== ERROR =========="); error.getStackTraceString(); error.getMessage(); error.getClass(); } }); ==================================================================== EVERYTHING WORKED FINE AS LONG AS I DO NOT HAVE CITY WITHIN THE ADDRESS. (2 Level Inheritance) As soon as I use the City within the Address Entity (as shown in the example above), the application creates an Error: ==================================================================== Feb 08, 2013 5:53:41 PM com.google.web.bindery.requestfactory.server.ServiceLayerDecorator die SEVERE: No type for token ZnIs$bNWPGt9pOa3oCZkGeCvZCM= Feb 08, 2013 5:53:41 PM com.google.web.bindery.requestfactory.server.RequestFactoryServlet doPost SEVERE: Unexpected error com.google.web.bindery.requestfactory.server.UnexpectedException: No type for token ZnIs$bNWPGt9pOa3oCZkGeCvZCM= at com.google.web.bindery.requestfactory.server.ServiceLayerDecorator.die(ServiceLayerDecorator.java:216) at com.google.web.bindery.requestfactory.server.ResolverServiceLayer.resolveClass(ResolverServiceLayer.java:59) at com.google.web.bindery.requestfactory.server.ServiceLayerDecorator.resolveClass(ServiceLayerDecorator.java:136) at com.google.web.bindery.requestfactory.server.ServiceLayerDecorator.resolveClass(ServiceLayerDecorator.java:136) at com.google.web.bindery.requestfactory.server.ServiceLayerDecorator.resolveClass(ServiceLayerDecorator.java:136) 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.appengine.tools.development.agent.runtime.Runtime.invoke(Runtime.java:115) at com.google.web.bindery.requestfactory.server.ServiceLayerCache.getOrCache(ServiceLayerCache.java:233) at com.google.web.bindery.requestfactory.server.ServiceLayerCache.resolveClass(ServiceLayerCache.java:156) at com.google.web.bindery.requestfactory.server.RequestState$1.getTypeFromToken(RequestState.java:76) at com.google.web.bindery.requestfactory.shared.impl.IdFactory.getId(IdFactory.java:159) at com.google.web.bindery.requestfactory.server.RequestState.getBeansForPayload(RequestState.java:142) at com.google.web.bindery.requestfactory.server.SimpleRequestProcessor.processOperationMessages(SimpleRequestProcessor.java:509) at com.google.web.bindery.requestfactory.server.SimpleRequestProcessor.process(SimpleRequestProcessor.java:218) at com.google.web.bindery.requestfactory.server.SimpleRequestProcessor.process(SimpleRequestProcessor.java:135) at com.google.web.bindery.requestfactory.server.RequestFactoryServlet.doPost(RequestFactoryServlet.java:133) 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:511) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166) at com.google.appengine.api.socket.dev.DevSocketFilter.doFilter(DevSocketFilter.java:74) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at com.google.appengine.tools.development.ResponseRewriterFilter.doFilter(ResponseRewriterFilter.java:123) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at com.google.appengine.tools.development.HeaderVerificationFilter.doFilter(HeaderVerificationFilter.java:34) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java:61) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java:125) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at com.google.appengine.tools.development.BackendServersFilter.doFilter(BackendServersFilter.java:97) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418) at com.google.appengine.tools.development.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:94) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at com.google.appengine.tools.development.JettyContainerService$ApiProxyHandler.handle(JettyContainerService.java:383) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.Server.handle(Server.java:326) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542) at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:938) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:755) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409) at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582) Can you please help me to solve this problem or simply show me an example where 3 and more Level inheritance is used by the Request Factory. THANK YOU IN ADVANCE!! Nermin -- You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscr...@googlegroups.com. To post to this group, send email to google-web-toolkit@googlegroups.com. Visit this group at http://groups.google.com/group/google-web-toolkit?hl=en. For more options, visit https://groups.google.com/groups/opt_out.