Я строю маршрут, который отправляет запрос SOAP веб-службе. Для этого я написал этот код.
.doTry()
.inOut(getEndpointDocumentWS())
.log("Response WHEN OKAY: ${body}")
.process(Document_WS_REPLY_PROCESSOR)
.endDoTry()
.doCatch(Exception.class)
.log(LoggingLevel.INFO, "SOAP REPLY WITH FAULTMESSAGE")
.log("Response ON ERROR FAULT: ${body}")
.process(Document_WS_REPLY_ERROR_PROCESSOR)
.end();
Все идет по плану, когда ответ службы «в порядке». В противном случае, когда ответ службы - это soap: Fault, у меня не будет доступа ко всем ответам (я использую soapUI для насмешки soap: Fault response).
Я могу получить крошечную долю сообщения soap: fault, получив свойство EXCEPTION_CAUGHT.
Инструкция
.log("Response ON ERROR FAULT: ${body}")
Нет данных вообще.
Что я могу сделать по-другому, чтобы иметь доступ ко всем, а не только к строке ошибок?
Исключение исключение = exchange.getProperty (Exchange.EXCEPTION_CAUGHT,
Exception.class);