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" />