Проблема с откликом приложения / json, сбрасываемым в Spring Integration 4.2

Создание HTTP-прокси в Spring Integration 4.2.1.RELEASE. Среда использует новейшую спецификацию платформы 2.0.0.RELEASE, включая слой spring-webmvc, работающий на Tomcat7.

Вызовы «application / json», передаваемые через веб-слой другой конечной точке сервера REST (метод setupUrl перезаписывает URL-адрес). Код успешно вызывает внешний сервер, получает хороший ответ, затем корректирует ответ, прежде чем он возвращается вызывающей стороне.

@Bean
    public IntegrationFlow httpProxyFlow()  {
        return IntegrationFlows
            .from((MessagingGateways g) ->
                    g.httpGateway("/my-service/**")
                            .messageConverters(new MappingJackson2HttpMessageConverter())
                        .payloadFunction(httpEntity ->
                                ((ServletRequestAttributes) RequestContextHolder.currentRequestAttributes())
                                        .getRequest()
                                        .getQueryString())
                        .requestPayloadType(String.class))
                        .handleWithAdapter(a ->
                                a.httpGateway(this::setupUrl)
                                        .httpMethodFunction(this::getMethodFunction)
                                        .errorHandler(new PassThroughErrorHandler())
                                        .encodeUri(false)
                                        .expectedResponseType(String.class)
                        ).get();
    }

Вызов непосредственно к конечной точке REST возвращается

{ "Филиал": "Тест", "производитель": "ТСТ", "продукты" ...

Пока звонок через Spring Integration возвращается

"{\" Филиал \ ": \" тест \ "\ "производитель \": \ "TST \", \ "продукции \": [{\"

Перепробовал множество комбинаций добавления StringHttpMessageConverter к исходящему адаптеру. Возиться с кодировками (UTF-8, а не ISO-8859-1). Что-то портит строку ответа, и кажется, что ПОСЛЕ того, как она оставляет Spring Integration, насколько я могу судить. В последний раз, когда Integration затрагивает ее, это строка 117. HttpRequestHandlingMessagingGateway.handleRequest (). Она по-прежнему выглядит корректно в объекте ответа.

Возможно, проблема действительно в spring-mvc, это первое место, где я вижу искаженную строку в отладке.

Ответы на вопрос(1)

Ваш ответ на вопрос