Я использую посредник smooks, чтобы заполнить список записей сотрудников пробелами. Заполнение работает, единственная проблема заключается в том, что он применяется к первому сотруднику, но не к следующим сотрудникам. Не только это, но только первый сотрудник делает это в файл, который я создаю, ни один из других. Я поместил в журнал, чтобы убедиться, что полезная нагрузка, передаваемая посреднику smooks, включает всех моих сотрудников, что и есть. Эта полезная нагрузка в основном:
<Employee>
<RecordType>
<Name/>
<Address/>
</RecordType>
<RecordType>
<Name/>
<Address/>
</RecordType>
</Employee>
<Employee>
<RecordType>
<Name/>
<Address/>
</RecordType>
<RecordType>
<Name/>
<Address/>
</RecordType>
</Employee>
Мой медиатор smooks читает вот так:
<?xml version="1.0" encoding="UTF-8"?>
<localEntry key="newHire-smooks-config" xmlns="http://ws.apache.org/ns/synapse">
<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.1.xsd" xmlns:file="http://www.milyn.org/xsd/smooks/file-routing-1.1.xsd" xmlns:fl="http://www.milyn.org/xsd/smooks/fixed-length-1.3.xsd" xmlns:ftl="http://www.milyn.org/xsd/smooks/freemarker-1.1.xsd">
<params>
<param name="stream.filter.type">SAX</param>
<param name="default.serialization.on">false</param>
</params>
<resource-config selector= "Employee">
<resource>org.milyn.delivery.DomModelCreator</resource>
</resource-config>
<ftl:freemarker applyOnElement="Employee">
<ftl:template>
<!--${.vars["Employee"].RecordType?right_pad(3)}${.vars["Employee"].BlankSpace1?right_pad(1)}${.vars["Employee"].Address?right_pad(10)}${'\n'}-->
</ftl:template>
</ftl:freemarker>
</smooks-resource-list>
</localEntry>
Есть идеи, почему только одна запись могла бы вырезать здесь?
Спасибо заранее.