Как правильно обработать exception в apache camel

Всем привет, пытаюсь перехватить exception в rest маршруте и отдать body с кастомный описанием ошибки.

Есть в camel такой маршрут

restContext
                .post(path)
                .route()
                .onException(IntegrationRuntimeException.class)
                .handled(true)
                .log(LoggingLevel.ERROR,"Ошибка загрузки документа")
                .end()
                .onException(ConstraintViolationException.class)
                .handled(true)
                .bean(OrderService.class, "handleOrder")
                .log(LoggingLevel.ERROR,"Ошибка загрузки блаблабла")
                .end()
                .split().tokenizeXML("DOCUMENT")
                .log("was split ${header.CamelSplitIndex} records")
                .log("${body}")
                .to("xslt:/camel/xsl/documents/out.xsl") 
                ....
                .endRest();

К маршруту по ресту обращается клиент( например postman), который вместо кастомного описания ошибки получает просто код 200 и пустое тело. (Если не хэндлить ошибку, то получаю весь stacktrace, что тоже не вариант)

Пробовал руками в тело писать так:

.onException(IntegrationRuntimeException.class)
                .setHeader(Exchange.HTTP_RESPONSE_CODE, constant(HttpStatus.BAD_REQUEST))
                .setBody().constant("Произошла ошибка, объект не был загружен.") 

пробовал в процессоре

exchange.getMessage().setBody("ЧТО-то пошло не так");

в процессор заходит, но тело ответа всё-равно возвращается пустым.


Ответы (0 шт):