2014-09-29 3 views
0

Пытается конвертировать EDI-to-xml через smooks. при преобразовании в smooks xml возникает некоторая проблема с разделителем полей.EDI to Xml smooks conversion issue

<medi:edimap xmlns:medi="http://www.milyn.org/schema/edi-message-mapping-1.4.xsd"> 

    <medi:description name="Invoice" version="1.0"></medi:description> 

    <medi:delimiters segment="~" field="<" component="^" sub-component="~"/> 

... ... формат EDI файл как: ...

SE<17<340001~ 
GE<4<34~ 

... Здесь поле разделитель '<'. выше код работает для других символов, кроме этого. Но когда я использую '<', давая ошибку, как показано ниже.

ERROR:[09-29-2014 04:05:07 PM]:[org.mule.exception.AbstractExceptionListener:267]: 
Caught exception in Exception Strategy: Unable to filter InputStream for target profile [org.milyn.profile.Profile#default_profile]. 
org.milyn.SmooksException: Unable to filter InputStream for target profile [org.milyn.profile.Profile#default_profile]. 
     at org.milyn.delivery.dom.SmooksDOMFilter.filter(SmooksDOMFilter.java:294) 
     at org.milyn.delivery.dom.SmooksDOMFilter.doFilter(SmooksDOMFilter.java:243) 
     at org.milyn.delivery.dom.SmooksDOMFilter.doFilter(SmooksDOMFilter.java:216) 
     at org.milyn.Smooks._filter(Smooks.java:516) 
     at org.milyn.Smooks.filterSource(Smooks.java:475)...... 
..... 
... 
Caused by: org.milyn.edisax.EDIConfigurationException: Error parsing EDI Mapping Model [<?xml version="1.0" encoding="UTF-8"?> 
+0

Похоже, опасный разделитель использовать, учитывая XML характер приложения вовлеченное. Кроме того, не могли бы вы столкнуться с проблемами, когда сегмент и подкомпонент были одним и тем же разделителем? – Andrew

+1

Не знаю ничего о smooks, но в документе XMl вы должны избегать символа '<' как '<'. –

ответ

0
&lt; worked for me. 

Some other escape characters 
" &quot; 
' &apos; 
< &lt; 
> &gt; 
& &amp;