Я не могу использовать единицу работы при использовании onException. Мне действительно нужно использовать многоадресную рассылку и сплиттер. Я пробовал до сих пор, например useOriginalMessage et c, но не смог.
onException(Exception.class)
.handled(Boolean.TRUE)
.process(XXX)
.marshal()
.jacksonxml()
.convertBodyTo(String.class)
.removeHeader(XXXX)
.end();
from(RouteDefinition.XXX)
.id("XXX")
.unmarshal().jacksonxml(XXX.class)
.to("bean-validator://x")
.setHeader(XXXS, constant(XXX.class))
.setProperty(ApplicationParam.REQUEST_BODY, body())
.bean(xxxx, "XXX")
.setHeader(Exchange.HTTP_METHOD, constant(HttpMethod.POST))
.setHeader(Exchange.CONTENT_TYPE, constant(MediaType.APPLICATION_JSON))
.setHeader(CxfConstants.CAMEL_CXF_RS_RESPONSE_CLASS, constant(XXX.class))
.to(restUri(jaxrsEndpoint, uri))
.removeHeader(Header.HEADER_LIST)
.bean(xxxx, "responseBeanXX")
.marshal().jacksonxml();
Поток процесса; Apache CXF -> JAXRS-> Исключение -> OnException -> Процессор -> Тело ответа