Spring Integration Получите ответ HTTP Outbound Gateway - PullRequest
4 голосов
/ 15 февраля 2012

Мне нужно 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 Ответ

9 голосов
/ 15 февраля 2012

Если вы не укажете 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" />
...