Кажется, что это простая задача, но я не могу обойти ее.Потребление ответа XML от вызова REST весной Интеграция
У меня есть цепочка интеграции Spring, которая вызывает внешний Web-сервис, который возвращает XML. Я хотел бы использовать этот ответ XML в нисходящем XpathRouter.
Какой тип ожидаемого ответа следует использовать?
<int:chain input-channel="filesChannel">
<!-- ... some previous components in the chain -->
<int-http:outbound-gateway
http-method="POST"
url="http://web/service/url"
expected-response-type="java.lang.String" />
<int-xml:xpath-router default-output-channel="resultChannel">
<int-xml:xpath-expression expression="/order/status" />
<int-xml:mapping value="Error" channel="importErrorChannel" />
</int-xml:xpath-router>
</int:chain>
Это не похоже на xpath-router
может потреблять XML, возвращенного веб-сервиса. Когда я отлаживать маршрутизатор с точкой останова на следующей строке:
Node node = this.converter.convertToNode(message.getPayload());
Узел имеет нулевое значение, хотя сообщение действительно содержит действительный XML.
Это потому, что я не настроен правильно expected-response-type
?
Вот ответ XML я получаю от службы:
<apiResponse version="1.0">
<orders>
<order>
<orderReference>test_2_3045342</orderReference>
<status>Error</status>
<errors>
<error>
<errorCode>1100</errorCode>
<errorMessage><![CDATA[ "Field is required: dropWindow" ]]></errorMessage>
</error>
</errors>
</order>
</orders>
</apiResponse>
Итак, вы можете принять ваш собственный ответ прямо сейчас! –