Well It didn't work as expected. 

After I added convertBody to byte[] the error persists when enabling
tracing.

Changed route ->
........
<inOut uri="cxfrs:bean:playlist?synchronous=true" id="playws"/>
                        <convertBodyTo type="byte[]"/>
                        <split parallelProcessing="false">
                                
<xpath>/ns4:now_previus_tracks_response/tracks_list/tracks</xpath>
                                <bean 
beanType="dk.dr.drip.adapters.playlist.PlaylisteUtil"
method="concat"/>
                                <setHeader headerName="channel"><xpath
resultType="java.lang.String">/tracks/ns3:channel/source_url</xpath></setHeader>
                                <recipientList>
                                        
<simple>activemq:topic:music.playing.${in.header.channel}</simple>
                                </recipientList>
                                <setHeader
headerName="MessageID"><simple>${in.header.channel}</simple></setHeader>
                                <setHeader
headerName="adapterName"><constant>playliste-push-out</constant></setHeader>
                                <to uri="direct:audit"/>
                        </split>

Trace ->
[JmsConsumer[TRACK_PLAYING_HUB]] Tracer                         INFO 
ID-A70103-56878-1378460141699-0-1 >>> (playliste-nnp-out-Route)  -->
split[XPath: /ns4:now_previus_tracks_response/tracks_list/tracks] <<<
Pattern:InOnly, Headers:{JMS_OracleTimestamp=1378460209064,
Server=Apache-Coyote/1.1, JMSExpiration=0, JMSReplyTo=null, JMSType=null,
CamelHttpResponseCode=200, JMSRedelivered=false, JMSXDeliveryCount=1,
JMSDeliveryMode=2, JMSMessageID=ID:E5B4C32C35522667E040650A940D3A3C,
MessageID=DRMAMA, JMSDestination=INTAQ.TRACK_PLAYING_HUB, JMS_OracleDelay=0,
JMSPriority=1, JMSXRecvTimestamp=1378460209275, JMSTimestamp=1378460209064,
JMSXGroupID=null, Content-Type=application/xml, JMSXUserID=INTAQ,
JMS_OracleDeliveryMode=2, Date=Fri, 06 Sep 2013 09:36:49 GMT,
breadcrumbId=ID-A70103-56882-1378460145057-0-1, Content-Length=827,
JMSCorrelationID=null, JMSXState=0, adapterName=playliste-nnp-out},
BodyType:byte[], Body:

[JmsConsumer[TRACK_PLAYING_HUB]] DefaultErrorHandler            ERROR Failed
delivery for (MessageId: ID-A70103-56878-1378460141699-0-2 on ExchangeId:
ID-A70103-56878-1378460141699-0-1). Exhausted after delivery attempt: 1
caught: org.apache.camel.TypeConversionException: Error during type
conversion from type: byte[] to the required type: org.w3c.dom.Document with
value [B@2a1ffc2 due org.xml.sax.SAXParseException: Premature end of file.
org.apache.camel.TypeConversionException: Error during type conversion from
type: byte[] to the required type: org.w3c.dom.Document with value
[B@2a1ffc2 due org.xml.sax.SAXParseException: Premature end of file.
        at
org.apache.camel.impl.converter.BaseTypeConverterRegistry.convertTo(BaseTypeConverterRegistry.java:126)
        at
org.apache.camel.builder.xml.XPathBuilder.doGetDocument(XPathBuilder.java:967)
        at
org.apache.camel.builder.xml.XPathBuilder.getDocument(XPathBuilder.java:946)
        at
org.apache.camel.builder.xml.XPathBuilder.doInEvaluateAs(XPathBuilder.java:790)
....

It seems that the tracer will read the cxf response stream when tracing gets
enabled resulting in an parseException.

This smells like a in camel-cxf ??

Btw the reason to convert the body to a byte array and not a string is that
the response is in utf-8 including bom. 

Best,
Preben



--
View this message in context: 
http://camel.465427.n5.nabble.com/org-xml-sax-SAXParseException-Premature-end-of-file-in-split-tp5738675p5738840.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to