You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Jeff Moroski (JIRA)" <ji...@apache.org> on 2016/08/08 13:06:20 UTC

[jira] [Issue Comment Deleted] (CXF-6997) Accept header doesn't correctly support multiple media ranges

     [ https://issues.apache.org/jira/browse/CXF-6997?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jeff Moroski updated CXF-6997:
------------------------------
    Comment: was deleted

(was: Gah, you're right.  I was getting my delimiters mixed up.

That value in the Accept header is actually built by multiple calls to {{org.apache.cxf.jaxrs.client.AbstractClient.accept(String...)}}

Our JaxRsDispatcherServlet.doService does additional error reporting and logging if JAX-RS applications aren't currently registered (this is an OSGi environment), otherwise calls cxfServlet.service() for the typical flow.  Our CxfServlet extends CXFServlet, and in the case of the service() method, it is a pure passthrough, doing nothing but calling the super implementation.)

> Accept header doesn't correctly support multiple media ranges
> -------------------------------------------------------------
>
>                 Key: CXF-6997
>                 URL: https://issues.apache.org/jira/browse/CXF-6997
>             Project: CXF
>          Issue Type: Bug
>    Affects Versions: 3.1.6
>            Reporter: Jeff Moroski
>
> An Accept value of {{application/*+xml,application/*+xml;version=25.0,application/*+xml;version=1.5}} is valid according to [Section 5.3.2 of RFC 7231|https://tools.ietf.org/html/rfc7231#section-5.3.2], but when a media range and no corresponding accept params exists anywhere but the end of the value, the MediaTypeHeaderProvider fails to process the value correctly:
> {noformat}
> Server stack trace: java.lang.IllegalArgumentException: Invalid media type string: application/*+xml,application/*+xml;version=25.0,application/*+xml;version=1.5
> at org.apache.cxf.jaxrs.impl.MediaTypeHeaderProvider.internalValueOf(MediaTypeHeaderProvider.java:90)
> at org.apache.cxf.jaxrs.impl.MediaTypeHeaderProvider.valueOf(MediaTypeHeaderProvider.java:65)
> at org.apache.cxf.jaxrs.impl.MediaTypeHeaderProvider.fromString(MediaTypeHeaderProvider.java:55)
> at org.apache.cxf.jaxrs.impl.MediaTypeHeaderProvider.fromString(MediaTypeHeaderProvider.java:42)
> at javax.ws.rs.core.MediaType.valueOf(MediaType.java:179)
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)