Mule ESB 3.6 - лучший способ конвертировать BufferedInputStream в XML
У меня есть проект Mule ESB с использованием HTTP Connector, где я хочу использовать XPath для разделения / маршрутизации XML.
Полезная нагрузка сообщения после коннектора HTTP - org.glassfish.grizzly.utils.BufferInputStream.
Каков наилучший способ преобразовать это в тип, где я могу использовать такой компонент, как «Splitter» или «Expression» (используя XPath), чтобы разделить / направить его?
«Объект в XML», похоже, не работает, а сплиттер не работает, когда полезной нагрузкой является строка (т. Е. С использованием объекта в строку после HTTP). Я бы предпочел не писать собственный преобразователь Java, если есть стандартные компоненты, которые могут это сделать?
поток
<http:listener-config name="HTTP_Listener_Configuration" host="0.0.0.0" port="8081" doc:name="HTTP Listener Configuration"/>
<file:connector name="File" autoDelete="true" streaming="true" validateConnections="true" doc:name="File"/>
<flow name="collectionsplitterFlow">
<http:listener config-ref="HTTP_Listener_Configuration" path="/CollectionSplitter" doc:name="HTTP"/>
<splitter expression="#[xpath3('//Order')]" doc:name="Splitter"/>
<logger level="INFO" doc:name="Logger"/>
</flow>
XML для разделения
<?xml version="1.0" encoding="UTF-8"?>
<msglist>
<msg>
<Order>
<Id>1</Id>
<Description>Order 1</Description>
</Order>
</msg>
<msg>
<Order>
<Id>2</Id>
<Description>Order 2</Description>
</Order>
</msg>
</msglist>
Спасибо Дэвид