1

I have a Google Appengine/Java setup, with Restlet for appengine (2.0.11). The application runs fine when deployed but throws this error when trying to connect to any of the Restlet entry points locally (localhost). The full trace is pasted below. I am on a Mac, using GAE 1.6.1 and Eclipse Helios. Any ideas how this can be corrected?

Feb 1, 2012 10:16:12 AM com.myapp.MyRestletServerResource retrieve
Feb 1, 2012 10:16:12 AM org.restlet.engine.http.adapter.ServerAdapter commit
SEVERE: An exception occured writing the response entity
java.lang.NoSuchMethodError: org.codehaus.jackson.type.JavaType.<init>(Ljava/lang/Class;)V
    at org.codehaus.jackson.map.type.SimpleType.<init>(SimpleType.java:32)
    at org.codehaus.jackson.map.type.TypeFactory._fromClass(TypeFactory.java:254)
    at org.codehaus.jackson.map.type.TypeFactory._fromType(TypeFactory.java:266)
    at org.codehaus.jackson.map.type.TypeFactory.type(TypeFactory.java:57)
    at org.codehaus.jackson.map.ObjectMapper.<clinit>(ObjectMapper.java:49)
    at org.restlet.ext.jackson.JacksonRepresentation.createObjectMapper(JacksonRepresentation.java:120)
    at org.restlet.ext.jackson.JacksonRepresentation.getObjectMapper(JacksonRepresentation.java:164)
    at org.restlet.ext.jackson.JacksonRepresentation.write(JacksonRepresentation.java:205)
    at org.restlet.representation.WriterRepresentation.write(WriterRepresentation.java:104)
    at org.restlet.engine.http.ServerCall.writeResponseBody(ServerCall.java:550)
    at org.restlet.engine.http.ServerCall.sendResponse(ServerCall.java:488)
    at org.restlet.ext.servlet.internal.ServletCall.sendResponse(ServletCall.java:492)
    at org.restlet.engine.http.adapter.ServerAdapter.commit(ServerAdapter.java:197)
    at org.restlet.engine.http.HttpServerHelper.handle(HttpServerHelper.java:151)
    at org.restlet.ext.servlet.ServerServlet.service(ServerServlet.java:1028)
    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.tools.development.HeaderVerificationFilter.doFilter(HeaderVerificationFilter.java:35)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    at com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java:60)
    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:122)
    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:78)
    at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    at com.google.appengine.tools.development.JettyContainerService$ApiProxyHandler.handle(JettyContainerService.java:362)
    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.headerComplete(HttpConnection.java:923)
    at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:547)
    at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
    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)

Update: I downloaded the latest version of Jackson and replaced the libraries I was using and the problem went away.

oviroa
  • 1,079
  • 2
  • 12
  • 29
  • I have exactly the same problem, works on deploy, failed in localhost. I find on the web a solution, it looks like a dependancy problem. I think reslet use a new version of jackson, and we have an old version of jackson including. If you find the solution before me, tell me :p –  Feb 12 '12 at 11:30
  • I downloaded the latest version of Jackson and replaced the libraries I was using and the problem went away. – oviroa Feb 19 '12 at 01:40

0 Answers0