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.
--
Bill Burke
JBoss, a division of Red Hat
http://bill.burkecentral.com