Приложение, над которым я работаю, является приложением промежуточного программного обеспечения, которое позволяет выполнять маршрутизацию среди множества приложений (в основном SOAP-сервисов).Мы столкнулись с насыщением из-за автоматических журналов, генерируемых Camel.
Объем журналов был уменьшен с новыми перехватчиками.Однако, если служба вызывается внутри текущего маршрута, все, что я получил, это тело запроса от перехватчика SendToEndpoint.
Учитывая, что все вызовы службы в приложении были сделаны таким образом, я не могу изменить текущие маршруты.
Старые перехватчики:
getContext().setTracing(true); // <--- trace every step of all routes
interceptFrom().to("log:example");
configureRoutes() {
// route logic
}
Новые перехватчики:
getContext().setTracing(false);
interceptFrom("cxf:*").to("log:example");
interceptSendToEndpoint("cxf:*").to("log:example");
configureRoutes() {
// route logic
}
Пример маршрута:
from("scheduler endpoint")
.to("DAO method to find the case from database")
.process(//First processor to call the SOAP service)
.to("SOAP endpoint")
.convertBodyTo(SOAP ResponseBody.class) <-- convert the MessageContentsList to SOAP response body generated from the WSDL
.process(//Second processor to check if the response code is OK in the SOAP response body);
Как реализоватьперехватчик, который позволяет также регистрировать тело ответа SOAP?
Спасибо за вашу помощь.