You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Mike Golod (JIRA)" <ji...@apache.org> on 2016/07/29 08:14:20 UTC
[jira] [Created] (CXF-6983)
org.apache.cxf.jaxrs.provider.AbstractJAXBProvider#handleJAXBException
doubles the error text for unmarshalling errors
Mike Golod created CXF-6983:
-------------------------------
Summary: org.apache.cxf.jaxrs.provider.AbstractJAXBProvider#handleJAXBException doubles the error text for unmarshalling errors
Key: CXF-6983
URL: https://issues.apache.org/jira/browse/CXF-6983
Project: CXF
Issue Type: Improvement
Components: JAX-RS
Affects Versions: 3.1.6
Environment: CXF 3.1.6 with JAXB annotated beans
Reporter: Mike Golod
Priority: Trivial
When unmarshal json payload to JAXB annotated bean sometimes we can get an UnmarshallingException (e.g. for dates). That exception already contains very descriptive message. AbstractJAXBProvider#handleExceptionStart extracts it. Then in AbstractJAXBProvider#handleJAXBException:
{code:title=AbstractJAXBProvider#handleJAXBException}
if (linked != null && linked.getMessage() != null) {
Throwable cause = linked;
while (read && cause != null) {
if (cause instanceof XMLStreamException && cause.getMessage().startsWith("Maximum Number")) {
throw ExceptionUtils.toWebApplicationException(null, JAXRSUtils.toResponse(413));
}
if (cause instanceof DepthExceededStaxException) {
throw ExceptionUtils.toWebApplicationException(null, JAXRSUtils.toResponse(413));
}
cause = cause.getCause();
}
sb.append(linked.getMessage()).append(". "); // this causes the problem
}
{code}
This code adds another message from linked exception. Message text is the same.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)