I am trying to handle exceptions using the ResponseExceptionMapper class for my cxf client.
ExceptionHandlingCode:
public class MyServiceRestExceptionMapper implements ResponseExceptionMapper<Exception> {
private static final Logger LOGGER = LoggerFactory.getLogger(MyServiceRestExceptionMapper .class);
public MyServiceRestExceptionMapper () {
}
@Override
public Exception fromResponse(Response response) {
    LOGGER.info("Executing MyServiceRestExceptionMapper class");
    Response.Status status = Response.Status.fromStatusCode(response.getStatus());
    LOGGER.info("Status: ", status.getStatusCode());
    switch (status) {
        case BAD_REQUEST:
            throw new InvalidServiceRequestException(response.getHeaderString("exception"));
        case UNAUTHORIZED:
            throw new AuthorizationException(response.getHeaderString("exception"));
        case FORBIDDEN:
            throw new  AuthorizationException(response.getHeaderString("exception"));
        case NOT_FOUND:
            throw new
                    EmptyResultDataAccessException(response.getHeaderString("exception"));
        default:
            throw new InvalidServiceRequestException(response.getHeaderString("exception"));
    }
}
}
CXF Client Code:
String url1= 
WebClient client = createWebClient(url1).path(/document);
client.headers(someHeaders);
Response response = client.post(byteArry);
For success scenarios, I am getting the correct response code of 200, but for failure scenarios, I never get a response code.
Also is there a better way of handling exceptions in cxf client.
Could someone please help on this.