Как получить тело ResponseEntity в Spring-интеграции - PullRequest
0 голосов
/ 31 мая 2018

Я использую конфигурацию на основе xml - исходящий http-шлюз для trii = gger службы отдыха, ответ - ResponseEntity, и я не знаю подробностей этой службы.Вывод, который я получаю, должен быть помещен в очередь JMS.

Как я могу обновить нижеприведенное, чтобы извлечь только тело объекта ответа и перейти к выходному каналу?Если есть трансформатор, приведите пример.Возможно ли использовать config?

<int:chain input-channel="gsInChannel" output-channel="dest-channel">
<int-http:outbound-gateway          
               url="https://ia-zatie.str13.tst.belst.nu/ia-zaatie/rest/signal/v2"
               http-method="POST"  
               header-mapper="headerMapper"
               request-factory="sslFactory"                
               >
</int-http:outbound-gateway>
    </int:chain>

dest-channel - это jms: исходящий канал-адаптер

загрузочная версия 1.4.3 и интеграционная версия 4.3.6

Ошибка: org.springframework.messaging.MessageHandlingException: ошибка произошла в обработчике сообщений [org.springframework.integration.jms.JmsSendingMessageHandler # 0];Вложенным исключением является org.springframework.jms.support.converter.MessageConversionException: невозможно преобразовать объект типа [org.springframework.http.ResponseEntity] в сообщение JMS.Поддерживаемые полезные нагрузки сообщения: строка, байтовый массив, карта, сериализуемый объект.

1 Ответ

0 голосов
/ 01 июня 2018

Я использовал метод HTTP POST и поэтому не ожидал ответа.SoO не включил тип ожидаемого ответа, который возвращает тело

<int-http:outbound-gateway          
               url="https://ia-zatie.str13.tst.belst.nu/ia-zaatie/rest/signal/v2"
               http-method="POST"  
               header-mapper="headerMapper"
               request-factory="sslFactory"  

               expected-response-type="java.lang.String">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...