users@jersey.java.net

Re: [Jersey] GF 2.1 vs 2.1.1?

From: Paul Sandoz <Paul.Sandoz_at_Sun.COM>
Date: Mon, 26 Oct 2009 21:41:35 +0100

Hi Sean,

GF v2.1.1 comes pre-installed with Jersey bundle 1.0.3.1 which
includes the Jersey JSON support where as GF v2.1 does not.

The error message indicates for the deployment on GF v2.1 you are
missing JSON-related dependencies. See here for the dependencies:

   https://jersey.dev.java.net/source/browse/*checkout*/jersey/tags/jersey-1.0.3.1/jersey/dependencies.html

and search for JSON.

Paul.

On Oct 26, 2009, at 8:14 PM, Comerford, Sean wrote:

> So I have a simple jersey based webapp exposing some RESTful
> endpoints.
>
> It works fine on my local machine for both XML and JSON.
>
> But when I install it on a dev server for the front end guys, it
> throws an “Internal Server Error” when the Accept header is set to
> application/json (XML works fine).
>
> The only apparent difference is my local Glassfish instances is
> v2.1.1 b31 while the dev instance is v2.1 b60e
>
> Perhaps I’m the 2.1 instance is missing some library that’s included
> by default in GF v2.1.1?
>
> FWIW, here’s the stack trace:
>
> [#|2009-10-26T15:03:04.064-0400|SEVERE|sun-appserver2.1|
> com.sun.jersey.spi.container.ContainerResponse|
> _ThreadID
> =16;_ThreadName=httpSSLWorkerThread-2080-1;_RequestID=787dac27-
> ec89-4fbc-bfbb-951652192b04;|A message body writer for Java type,
> class com.espn.sports.persistence.basketball.BasketballTeamEntity,
> and MIME media type, application/json, was not found|#]
>
> [#|2009-10-26T15:03:04.064-0400|SEVERE|sun-appserver2.1|
> com.sun.jersey.server.impl.application.WebApplicationImpl|
> _ThreadID
> =16;_ThreadName=httpSSLWorkerThread-2080-1;_RequestID=787dac27-
> ec89-4fbc-bfbb-951652192b04;|Internal server error
> javax.ws.rs.WebApplicationException
> at
> com
> .sun
> .jersey.spi.container.ContainerResponse.write(ContainerResponse.java:
> 253)
> at
> com
> .sun
> .jersey
> .server
> .impl
> .application
> .WebApplicationImpl._handleRequest(WebApplicationImpl.java:763)
> at
> com
> .sun
> .jersey
> .server
> .impl
> .application
> .WebApplicationImpl.handleRequest(WebApplicationImpl.java:689)
> at
> com
> .sun
> .jersey
> .server
> .impl
> .application
> .WebApplicationImpl.handleRequest(WebApplicationImpl.java:680)
> at
> com
> .sun
> .jersey.spi.container.servlet.WebComponent.service(WebComponent.java:
> 324)
> at
> com
> .sun
> .jersey
> .spi
> .container.servlet.ServletContainer.service(ServletContainer.java:425)
> at
> com
> .sun
> .jersey
> .spi
> .container.servlet.ServletContainer.service(ServletContainer.java:604)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
> at
> org
> .apache
> .catalina
> .core
> .ApplicationFilterChain.servletService(ApplicationFilterChain.java:
> 427)
> at
> org
> .apache
> .catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:
> 315)
> at
> org
> .apache
> .catalina
> .core.StandardContextValve.invokeInternal(StandardContextValve.java:
> 287)
> at
> org
> .apache
> .catalina.core.StandardContextValve.invoke(StandardContextValve.java:
> 218)
> at
> org
> .apache
> .catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
> at
> org
> .apache
> .catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
> at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
> at
> com
> .sun
> .enterprise
> .web
> .PESessionLockingStandardPipeline
> .invoke(PESessionLockingStandardPipeline.java:98)
> at
> org
> .apache
> .catalina.core.StandardHostValve.invoke(StandardHostValve.java:222)
> at
> org
> .apache
> .catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
> at
> org
> .apache
> .catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
> at
> org
> .apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:
> 587)
> at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1096)
> at
> org
> .apache
> .catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:
> 166)
> at
> org
> .apache
> .catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
> at
> org
> .apache
> .catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
> at
> org
> .apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:
> 587)
> at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1096)
> at
> org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:
> 288)
> at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter
> (DefaultProcessorTask.java:647)
> at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess
> (DefaultProcessorTask.java:579)
> at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process
> (DefaultProcessorTask.java:831)
> at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask
> (DefaultReadTask.java:341)
> at
> com
> .sun
> .enterprise
> .web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:
> 263)
> at
> com
> .sun
> .enterprise
> .web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:
> 214)
> at com.sun.enterprise.web.portunif.PortUnificationPipeline
> $PUTask.doTask(PortUnificationPipeline.java:380)
> at
> com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:
> 265)
> at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run
> (SSLWorkerThread.java:106)
> |#]
>
> --
> Sean Comerford, Software Engineer
> ESPN.com Site Architecture Group
> Office: 860.766.6454 Cell: 860.329.5842