users@jersey.java.net

[Jersey] Re: Jersey unable to Parse Media Type

From: Pavel Bucek <pavel.bucek_at_oracle.com>
Date: Fri, 27 May 2011 21:08:48 +0200

Hello,

that is very strange. Are you sure you use
@Produces(MediaType.APPLICATION_JSON) and not
@Produces("MediaType.APPLICATION_JSON")?

Or you can try @Produces("application/json")

Regards,
Pavel


On 5/27/11 7:06 PM, bigt wrote:
> In my application I am using the variables in javax.ws.rs.core.MediaType to
> populate the @Produces annotation. ie.
>
> @Produces(MediaType.APPLICATION_JSON)
>
> This seems fine, but i am getting a stack trace that jersey cannot parse
> that media type. I am using version jersey version 1.0.3 running inside of
> tomcat.
>
> java.lang.IllegalArgumentException: Error parsing media type
> 'MediaType.APPLICATION_JSON'
>
> at
> com.sun.jersey.core.impl.provider.header.MediaTypeProvider.fromString(MediaTypeProvider.java:92)
>
> at
> com.sun.jersey.core.impl.provider.header.MediaTypeProvider.fromString(MediaTypeProvider.java:50)
>
> at javax.ws.rs.core.MediaType.valueOf(MediaType.java:119)
>
> at
> com.sun.jersey.core.header.MediaTypes.createMediaTypes(MediaTypes.java:208)
>
> at
> com.sun.jersey.core.header.MediaTypes.createMediaTypes(MediaTypes.java:196)
>
> at
> com.sun.jersey.server.impl.modelapi.annotation.IntrospectionModeller.addProduces(IntrospectionModeller.java:162)
>
> at
> com.sun.jersey.server.impl.modelapi.annotation.IntrospectionModeller.workOutSubResourceMethodsList(IntrospectionM
>
> odeller.java:296)
>
> at
> com.sun.jersey.server.impl.modelapi.annotation.IntrospectionModeller.createResource(IntrospectionModeller.java:11
>
> 8)
>
> at
> com.sun.jersey.server.impl.application.WebApplicationImpl.getAbstractResource(WebApplicationImpl.java:364)
>
> at
> com.sun.jersey.server.impl.application.WebApplicationImpl.processRootResources(WebApplicationImpl.java:745)
>
> at
> com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:590)
>
> at
> com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:383)
>
> at
> com.sun.jersey.spi.container.servlet.ServletContainer.initiate(ServletContainer.java:377)
>
> at
> com.sun.jersey.spi.container.servlet.ServletContainer$InternalWebComponent.initiate(ServletContainer.java:242)
>
> at
> com.sun.jersey.spi.container.servlet.WebComponent.load(WebComponent.java:449)
>
> at
> com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:169)
>
> at
> com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:281)
>
> at
> com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:442)
>
> at javax.servlet.GenericServlet.init(GenericServlet.java:212)
>
> at
> org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1172)
>
> at
> org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:992)
>
> at
> org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4058)
>
> at
> org.apache.catalina.core.StandardContext.start(StandardContext.java:4371)
> Caused by: java.text.ParseException: End of header
>
> at
> com.sun.jersey.core.header.reader.HttpHeaderReaderImpl.getNextCharacter(HttpHeaderReaderImpl.java:193)
>
> at
> com.sun.jersey.core.header.reader.HttpHeaderReaderImpl.next(HttpHeaderReaderImpl.java:158)
>
> at
> com.sun.jersey.core.header.reader.HttpHeaderReader.nextSeparator(HttpHeaderReader.java:105)
>
> at
> com.sun.jersey.core.impl.provider.header.MediaTypeProvider.fromString(MediaTypeProvider.java:81)
>
> ... 44 more
>
>
>
> at
> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
>
> at
> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
>
> at
> org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
>
> at
> org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:627)
>
> at
> org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:553)
>
> at
> org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:488)
>
> at
> org.apache.catalina.startup.HostConfig.start(HostConfig.java:1149)
>
> at
> org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
>
> at
> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
>
> at
> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
>
> at
> org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
>
> at
> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
>
> at
> org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
>
> at
> org.apache.catalina.core.StandardService.start(StandardService.java:516)
>
> at
> org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
>
> at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
>
> 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 org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
>
> at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
>
>
>
> --
> View this message in context: http://jersey.576304.n2.nabble.com/Jersey-unable-to-Parse-Media-Type-tp6411792p6411792.html
> Sent from the Jersey mailing list archive at Nabble.com.
>