dev@jsr311.java.net

Re: JSR311: media type compatibility

From: Stephan Koops <Stephan.Koops_at_web.de>
Date: Thu, 10 Apr 2008 09:23:02 +0200

Hi Bill,

AFAIK the parameters are not ordered.
What should the runtime do with the following?
Accept: application/xml;schema=bar;schema=foo

For this reason matrix parameters are also not allowed in @Path.

best regards
   Stephan

Bill Burke schrieb:
> Consider this resource:
>
> @Consumes("application/xml;schema=bar")
> @GET
> public String get();
>
>
> Is it compatible with the content-type of "application/xml;schema=foo"?
>
> My thinking is that it is not compatible. Why?
>
> Consider this example:
>
> Accept: application/xml;schema=foo;q=1.0,
> application/xml;schema=bar;q=0.5
>
> Content-type: application/xml;schema=stuff
>
>
>
> The resource:
>
> @Path("/")
> public class MyESB {
>
> @Produces("application/xml;schema=foo")
> @Consumes("application/xml;schema=junk")
> public String method1() {}
>
>
> @Produces("application/xml;schema=bar")
> @Consumes("application/xml;schema=stuff")
> @GET
> public String method2() {}
> }
>
>
> From the current spec implementation(if i understand the rules
> correctly) with this request, method1 will be matched because the
> Accept precedence and my application will fail as the XML document
> sent will be incompatible with method 1.