Hello,

I've just checked also the patch available on the XStream project 
(https://jira.codehaus.org/browse/XSTR-566) and it fails also.
Actually, we were waiting for a fix from the xstream team. It can take 
some time.
I've updated our issue with your comment: 
http://restlet.tigris.org/issues/show_bug.cgi?id=863

Best regards,
Thierry Boileau

> Hi,
>
> I'm a newcomer to Restlet. I'm trying to develop a RESTFul webservice in GAE. 
> I'd like to serve XML/JSON representations of my resources stored in GAE. So, 
> I'm using Restlet 2.0 M6, and XStream (the jar provided with your example for 
> GAE and Android, as it must be patched for GAE).
>
> When I GET the representation for a resource, I  get the proper one, 
> according to the media types specified in the request. However, when I try to 
> create a resource submitting a POST with a xml representation, I get the 
> following:
>
> java.lang.NoClassDefFoundError: sun.reflect.ReflectionFactory is a restricted 
> class. Please see the Google  App Engine developer's guide for more details.
>       at 
> com.google.appengine.tools.development.agent.runtime.Runtime.reject(Runtime.java:51)
>       at 
> com.thoughtworks.xstream.converters.reflection.Sun14ReflectionProvider.getLazyRefectionFactory(Sun14ReflectionProvider.java:105)
>       at 
> com.thoughtworks.xstream.converters.reflection.Sun14ReflectionProvider.getMungedConstructor(Sun14ReflectionProvider.java:97)
>       at 
> com.thoughtworks.xstream.converters.reflection.Sun14ReflectionProvider.newInstance(Sun14ReflectionProvider.java:76)
>       at 
> com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.instantiateNewInstance(AbstractReflectionConverter.java:318)
>       at 
> com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshal(AbstractReflectionConverter.java:167)
>       at 
> com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:71)
>       at 
> com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:63)
>       at 
> com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:65)
>       at 
> com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:49)
>       at 
> com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller.java:126)
>       at 
> com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.unmarshal(AbstractTreeMarshallingStrategy.java:32)
>       at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:939)
>       at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:924)
>       at com.thoughtworks.xstream.XStream.fromXML(XStream.java:867)
>       at 
> org.restlet.ext.xstream.XstreamRepresentation.getObject(XstreamRepresentation.java:148)
>       at 
> org.restlet.ext.xstream.XstreamConverter.toObject(XstreamConverter.java:167)
>       at 
> org.restlet.service.ConverterService.toObject(ConverterService.java:156)
>       at org.restlet.resource.ServerResource.doHandle(ServerResource.java:452)
>       at org.restlet.resource.ServerResource.post(ServerResource.java:1052)
>       at org.restlet.resource.ServerResource.doHandle(ServerResource.java:522)
>       at 
> org.restlet.resource.ServerResource.doNegotiatedHandle(ServerResource.java:579)
>       at 
> org.restlet.resource.ServerResource.doConditionalHandle(ServerResource.java:258)
>       at org.restlet.resource.ServerResource.handle(ServerResource.java:818)
>       at org.restlet.resource.Finder.handle(Finder.java:516)
>       at org.restlet.routing.Filter.doHandle(Filter.java:156)
>       at org.restlet.routing.Filter.handle(Filter.java:203)
>       at org.restlet.routing.Router.doHandle(Router.java:396)
>       at org.restlet.routing.Router.handle(Router.java:612)
>       at org.restlet.routing.Filter.doHandle(Filter.java:156)
>       at org.restlet.routing.Filter.handle(Filter.java:203)
>       at org.restlet.routing.Filter.doHandle(Filter.java:156)
>       at org.restlet.routing.Filter.handle(Filter.java:203)
>       at org.restlet.routing.Filter.doHandle(Filter.java:156)
>       at 
> org.restlet.engine.application.StatusFilter.doHandle(StatusFilter.java:152)
>       at org.restlet.routing.Filter.handle(Filter.java:203)
>       at org.restlet.routing.Filter.doHandle(Filter.java:156)
>       at org.restlet.routing.Filter.handle(Filter.java:203)
>       at org.restlet.engine.ChainHelper.handle(ChainHelper.java:111)
>       at 
> org.restlet.engine.application.ApplicationHelper.handle(ApplicationHelper.java:72)
>       at org.restlet.Application.handle(Application.java:396)
>       at org.restlet.routing.Filter.doHandle(Filter.java:156)
>       at org.restlet.routing.Filter.handle(Filter.java:203)
>       at org.restlet.routing.Router.doHandle(Router.java:396)
>       at org.restlet.routing.Router.handle(Router.java:612)
>       at org.restlet.routing.Filter.doHandle(Filter.java:156)
>       at org.restlet.routing.Filter.handle(Filter.java:203)
>       at org.restlet.routing.Router.doHandle(Router.java:396)
>       at org.restlet.routing.Router.handle(Router.java:612)
>       at org.restlet.routing.Filter.doHandle(Filter.java:156)
>       at org.restlet.routing.Filter.handle(Filter.java:203)
>       at org.restlet.engine.ChainHelper.handle(ChainHelper.java:111)
>       at org.restlet.Component.handle(Component.java:382)
>       at org.restlet.Server.handle(Server.java:400)
>       at org.restlet.engine.ServerHelper.handle(ServerHelper.java:71)
>       at 
> org.restlet.engine.http.HttpServerHelper.handle(HttpServerHelper.java:149)
>       at 
> org.restlet.ext.servlet.ServerServlet.service(ServerServlet.java:1013)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
>       at 
> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
>       at 
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093)
>       at 
> com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java:51)
>       at 
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
>       at 
> com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43)
>       at 
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
>       at 
> com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java:121)
>       at 
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
>       at 
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
>       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:712)
>       at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
>       at 
> com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:70)
>       at 
> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
>       at 
> com.google.appengine.tools.development.JettyContainerService$ApiProxyHandler.handle(JettyContainerService.java:352)
>       at 
> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
>       at org.mortbay.jetty.Server.handle(Server.java:313)
>       at 
> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:506)
>       at 
> org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:844)
>       at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:644)
>       at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:205)
>       at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381)
>       at 
> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:396)
>       at 
> org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442)
>
> This seems XStream issue, but I'd like to know if there exists a patch for 
> this framework to resolve it as I couldn't find it in the JIRA for it.
>
> Thanks in advance,
>
> ------------------------------------------------------
> http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=2441841
>
>

------------------------------------------------------
http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=2442044

Reply via email to