12.8.2. RESTEasy Internally Thrown Exceptions

Table 12.4. Exception List

Exception HTTP Code Description
BadRequestException 400 Bad Request. The request was not formatted correctly, or there was a problem processing the request input.
UnauthorizedException 401 Unauthorized. Security exception thrown if you are using RESTEasy's annotation-based role-based security.
InternalServerErrorException 500 Internal Server Error.
MethodNotAllowedException 405 There is no JAX-RS method for the resource that can handle the invoked HTTP operation.
NotAcceptableException 406 There is no JAX-RS method that can produce the media types listed in the Accept header.
NotFoundException 404 There is no JAX-RS method that serves the request path/resource.
ReaderException 400 All exceptions thrown from MessageBodyReaders are wrapped within this exception. If there is no ExceptionMapper for the wrapped exception, or if the exception is not a WebApplicationException, then RESTEasy will return a 400 code by default.
WriterException 500 All exceptions thrown from MessageBodyWriters are wrapped within this exception. If there is no ExceptionMapper for the wrapped exception, or if the exception is not a WebApplicationException, then RESTEasy will return a 400 code by default.
o.j.r.plugins.providers.jaxb.JAXBUnmarshalException 400 The JAXB providers (XML and Jettison) throw this exception on reads. They may be wrapping JAXBExceptions. This class extends ReaderException.
o.j.r.plugins.providers.jaxb.JAXBMarshalException 500 The JAXB providers (XML and Jettison) throw this exception on writes. They may be wrapping JAXBExceptions. This class extends WriterException.
ApplicationException N/A Wraps all exceptions thrown from application code. It functions in the same way as InvocationTargetException. If there is an ExceptionMapper for wrapped exception, then that is used to handle the request.
Failure N/A Internal RESTEasy error. Not logged.
LoggableFailure N/A Internal RESTEasy error. Logged.
DefaultOptionsMethodException N/A If the user invokes HTTP OPTIONS and no JAX-RS method for it, RESTEasy provides a default behavior by throwing this exception.