I have a rest client that follows the JAX-RS specification and that is used with different implementations like Jersey, RestEasy and Apache CXF. The rest server sometimes throws a "404 Not Found" with a json body if something goes wrong. I am processing that response in a ClientResponseFilter and throwing a custom exception, but Apache CXF somehow ignores that exception and throws a NotFoundException instead. All other JAX-RS implementations (jersey, resteasy) are wrapping my exception in a ResponseProcessingException, so that I can properly access that error.
My expectation is that Apache CXF behaves like other implementations. I am not even able to access the json body when I get an error status code. The CXF client seems to completely suppress the response body.
You can check that issue in this repository: https://github.com/prof-schnitzel/cxf-rest-sample