I am trying to use the jdbc-ee:xml-to-maps-transformer` .
In the flow below, the output at the final logger is empty. I would have expected a Map object which I can use in the insert.
There is some documentation available at
But doesn't help. Any other information on web is quite sparse.
<flow name="inserttinoDBFlow3" doc:name="inserttinoDBFlow3">
<file:inbound-endpoint responseTimeout="10000" doc:name="File" moveToDirectory="src/test/resources/out" path="src/test/resources/in"/>
<file:file-to-string-transformer doc:name="File to String"/>
<logger message="#[message.payload] :::::::::::::::::::::::::::::::::::: after object to string:::::::::::::::::::::::::::::::::::" level="INFO" doc:name="Logger"/>
<mulexml:object-to-xml-transformer doc:name="Object to XML"/>
<logger message="#[message.payload] :::::::::::::::::::::::::::::::::::: after object to xml :::::::::::::::::::::::::::::::::::" level="INFO" doc:name="Logger"/>
<jdbc-ee:xml-to-maps-transformer doc:name="XML to Maps"/>
<logger level="INFO" doc:name="Logger" message="#[message.payload]"/>
</flow>
Use a Object-to-XML transformer to transform a Java Object to XML data using XStream.
So you in your flow have Java object of String type in message payload, and tranformer just packed this String in <string> node and encode XML specific characters. And this is not XML that we are wanted in this case.
I removed object-to-xml transformer from your flow and it works.
<flow name="inserttinoDBFlow3" doc:name="inserttinoDBFlow3">
<file:inbound-endpoint responseTimeout="10000" doc:name="File" moveToDirectory="src/test/resources/out" path="src/test/resources/in"/>
<file:file-to-string-transformer doc:name="File to String" encoding="UTF-8"/>
<logger message=" :::::::::::::::::::::::::::::::::::: after object to string::::::::::::::::::::::::::::::::::: #[message.payload]" level="INFO" doc:name="Logger"/>
<jdbc-ee:xml-to-maps-transformer doc:name="XML to Maps"/>
<logger level="INFO" doc:name="Logger" message="#[message.payload]"/>
</flow>
input file
<?xml version="1.0" encoding="utf-8"?>
<table>
<record>
<field name="id" type="java.math.BigDecimal">0</field>
<field name="name" type="java.lang.String">hello</field>
</record>
</table>
Remember that:
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.