I've create a JIRA for this issue at: https://issues.apache.org/jira/browse/CXF-1405 I've also attached a patch to the JIRA which should resolve this for you. best regards, --Frank
On Thu, 2008-01-24 at 12:58 -0500, Frank Lynch wrote: > I just had a chance to look a little closer at this. It appears that > when we use the CXF servlet transport the mime types for the "Accept:" & > "Content-Type:" headers are not being propagated into the jax-rs > runtime. I'm currently investigating why this is the case. > > BTW I was mistaken on the ProduceMime thing yesterday, you can specify > multiple mime types in the @ProduceMime annotation, you simply need to > encose the array of strings in curly braces like the following: > @ProduceMime({"application/xml", "application/json"}) > duh! ;) > --Frank > > > > On Wed, 2008-01-23 at 14:33 -0500, Frank Lynch wrote: > > 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.