users@jersey.java.net

[Jersey] Re: Media type parse error

From: Jakub Podlesak <jakub.podlesak_at_oracle.com>
Date: Tue, 07 Jun 2011 11:48:05 +0200

Hi Jonathan,

the "subtype=gml/3.1.1" in your content type is considered a media type
parameter (see [1]), and it's value can not contain slashes.

Can you please double check, the content type value is as requested
by the specification you quoted?

~Jakub

[1]http://www.faqs.org/rfcs/rfc1521.html

On 06/06/2011 04:46 PM, jonathan.lister_at_vaisala.com wrote:
>
> Code like this:
>
> @Produces({"text/xml; subtype=gml/3.1.1"})
> @Path("describeFeatureType")
> public Response describeFeatureType(@Context UriInfo uri) {
>
> Leads to a deployment time error on GlassFish 3.1:
>
> INFO: Initiating Jersey application, version 'Jersey: 1.5 01/14/2011
> 12:36 PM'
> SEVERE: WebModule[/jx-web-services]StandardWrapper.Throwable
> java.lang.IllegalArgumentException: java.text.ParseException: Expected
> separator ';' instead of '/'
> at
> com.sun.jersey.core.header.MediaTypes.createQualitySourceMediaTypes(MediaTypes.java:285)
> at
> com.sun.jersey.core.header.MediaTypes.createQualitySourceMediaTypes(MediaTypes.java:270)
>
> The unusual media type is an OGC requirement for WebFeatureService;
> the CITE test assertion is:
> Assertion: The MIME returned for a DescribeFeatureType request where
> the output format requested is &quot;text/xml; subtype=gml/3.1.1&quot;
> is &quot;text/xml; subtype=gml/3.1.1&quot;.
>
> Is it possible to set the media type as required here? I have also
> tried setting the header in HttpServletResponse, but jersey seems to
> override it.
>
>