Spring Integration Получите ответ HTTP Outbound Gateway

Мне нужно POST вызов службы REST и получить данные, которые он возвращает (все это с JSON). У меня есть исходящий шлюз с ответным каналом в виде цепочки, а цепочка имеет один преобразователь.

<int-http:outbound-gateway
    url="#{appProperties['rootUrl']}#{appProperties['myMethod']}"
    request-channel="myRequestChannel" reply-channel="myResponseChannel" >
</int-http:outbound-gateway>

<int:channel id="myResponseChannel"/>

<int:chain input-channel="myResponseChannel">
    <int:transformer ref="genericResponseTransformer"/>
</int:chain>

Однако, когда я отлаживаю через преобразователь, полезная нагрузка, которую я получаю, является просто объектом HttpStatus.

Может я что то не так делаю? Любая помощь будет принята с благодарностью. Спасибо!

1 ответ

Решение

Если вы не укажете expected-response-type в вашем шлюзе поведение по умолчанию состоит в том, что ответное сообщение содержит только код состояния (тип ожидаемого ответа равен нулю). Попробуйте установить expected-response-type="java.lang.String":

<int-http:outbound-gateway
  url="#{appProperties['rootUrl']}"
  http-method="#{appProperties['myMethod']}"
  expected-response-type="java.lang.String"
  request-channel="myRequestChannel" reply-channel="myResponseChannel" />
Другие вопросы по тегам