Apache Camel повредил http-ответ

#apache-camel

Вопрос:

Я использую Верблюда, чтобы route http requests . Клиент достигает моего маршрутизатора Camel на servlet конечной точке, предоставляя информацию, необходимую для маршрутизации запроса, затем я ищу в базе данных, чтобы разрешить конечную точку. Запросы маршрутизируются правильно, но ответ, который я получаю, кажется, поврежден (я звоню от клиента Rest), здесь поврежденный ответ:

введите описание изображения здесь

Если я вызову конечную точку назначения без передачи от верблюда, она вернет правильный ответ:

введите описание изображения здесь

Я также проверил, что ответ не оставляет конечную точку назначения поврежденной.

Вот мой Верблюд configuration classes :

 @Singleton
@Startup
public class CamelStartupBean {

    @PostConstruct
    public void init() {
        CamelContext camelContext = new DefaultCamelContext();
        camelContext.addRoutes(new CamelRouteConfiguration());
        camelContext.start();
    }

    static class CamelRouteConfiguration extends RouteBuilder {

        @Override
        public void configure() {
            from("servlet:callService?matchOnUriPrefix=true")
                    .routeId("callService")
                    .recipientList(method(CallServiceConfiguration.class, "resolveServiceRoute"));
        }

    }

    static class CallServiceConfiguration {

        public String resolveServiceRoute(Exchange exchange) {
            String route;
            // lookup the database to find a route ...
            route = "http://demo.apps.closhlab.osh.local/rest/DemoService?bridgeEndpoint=true";
            return route;
        }

    }

}
 

Я использую Camel 3.9.0 , и мое приложение развернуто на образе Docker jboss/wildfly:15.0.0.Final .

Есть идеи? Спасибо.

Ответ №1:

Обновление до версии Camel 3.11.0 решило проблему.