I'm seeing the same thing here, no matter what I do the runtime seems to
want to dispatch the call to the method annotated application/json. I
also noted that it isn't possible to annotate a single method with
multiple mime types. i.e. per the dec4th jsr311 draft it should be
possible t0 annotate a method with the following:
@ProduceMime("application/xml", "application/json")
alas, this doesn't appear to be supported in cxf yet. I guess we should
log JIRA's for these.
--Frank
On Wed, 2008-01-23 at 07:12 -0800, brmaguir wrote:
> Hi,
>
> Does CXF support the JSR311 @ProduceMime annotation fully? Here's the code:
>
> import com.sun.ws.rest.api.ConsumeMime;
> import com.sun.ws.rest.api.HttpMethod;
> import com.sun.ws.rest.api.ProduceMime;
> import com.sun.ws.rest.api.UriTemplate;
>
> @UriTemplate("/sampleservlet")
> public class SampleServlet {
>
> @HttpMethod("PUT")
> @ConsumeMime("text/plain")
> @ProduceMime("application/xml")
> public void getXML() {
> System.out.println("### Handle PUT for sampleservlet: XML ###");
> }
>
> @HttpMethod("PUT")
> @ConsumeMime("text/plain")
> @ProduceMime("application/json")
> public void getJSON() {
> System.out.println("### Handle PUT for sampleservlet: JSON
> ###");
> }
> }
>
> When the client specifies the Accept parameter in the http header as
> application/json or application/xml I would expect the corresponding method
> to be called according to the @ProduceMime specified before the method. Is
> this supported? It doesn't seem to be working as expected for me.
>
> Thanks in advance.