cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sergey Beryozkin (JIRA)" <>
Subject [jira] [Commented] (CXF-7592) Wrong JAX-RS 2.1 request filter handling for IOException
Date Tue, 19 Dec 2017 17:24:00 GMT


Sergey Beryozkin commented on CXF-7592:

Thanks, not sure now why it was not done correctly at the start, may be I thought IOException
would never be thrown from the filters :-)

> Wrong JAX-RS 2.1 request filter handling for IOException
> --------------------------------------------------------
>                 Key: CXF-7592
>                 URL:
>             Project: CXF
>          Issue Type: Bug
>          Components: JAX-RS
>    Affects Versions: 3.2.0, 3.2.1
>            Reporter: Philipp Förmer
>            Assignee: Sergey Beryozkin
>             Fix For: 3.1.15, 3.2.2
> In JAX-RS 2.1 specification chapter "6.7.1 Server runtime" it is said that:
> {quote}
> [...]When a filter or interceptor method throws an exception, the server runtime will
process the exception as described in Section 4.5.1.[...]
> {quote}
> But if a JAX-RS ContainerRequestFilter throws an IOException, then the IOException is
immediately catched in JAXRSUtils.runContainerRequestFilters(...) without passing it to exception
mapper provider.
> Use case:
> We have a ContainerRequestFilter which reads the json request data with jackson. For
a special failure scenario the jackson mapper throws a JsonMappingException. The super type
of JsonMappingException is IOException. As CXF catches the IOException the JsonMappingException
is not delegated to a custom exception mapper, which performs the mapping from JsonMappingException
to the response. As of this, the unexpected status code Internal Server Error is returned.

This message was sent by Atlassian JIRA

View raw message