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.