[ https://issues.apache.org/jira/browse/CXF-6754?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15113443#comment-15113443 ]
Neal Hu commented on CXF-6754: ------------------------------ It is the TCK case in order to verify the determination of Response media type. Only if there is no @Produces at resource method or class, we get the media type from write candidates. Now cxf always get from write candidates when request Accept has subwild. I made a path check if there is @Produces in matched resource method or class. Please review the patch. Thanks. Neal > Determin Media Type in Response > ------------------------------- > > Key: CXF-6754 > URL: https://issues.apache.org/jira/browse/CXF-6754 > Project: CXF > Issue Type: Bug > Components: JAX-RS > Affects Versions: 3.0.7, 3.1.4 > Environment: Windows > Reporter: Neal Hu > Fix For: 3.1.5, 3.0.8, 3.2.0 > > Attachments: JAXRSOutInterceptor.patch > > > @GET > @Path("text") > @Produces(value = "text/*") > public String geText() { > return "text/* is ok"; > } > request Accept=text/* > Per spec 3.8|2 > 2. Gather the set of producible media types P: > • If the method is annotated with @Produces, set P = fV (method)g where V (t) > represents the > values of @Produces on the specified target t. > • Else if the class is annotated with @Produces, set P = fV (class)g. > • Else set P = fV (writers)g where ‘writers’ is the set of MessageBodyWriter > that support the > class of the returned entity object. > Check the resource method anno first then class anno, at last check writers. > So the response code should be 406. -- This message was sent by Atlassian JIRA (v6.3.4#6332)