For ServiceMix to handle JMS messages without using a custom
marshaler, the JMS message must be a text message with a valid xml
inside.
Check the content of your message...

On Thu, Nov 13, 2008 at 9:16 AM, manish_goyal
<[EMAIL PROTECTED]> wrote:
>
> Hi,
>
> I am sending JAVA Object to ActiveMQ JMS queue after converting it to the
> ByteArrayOutputStream and then textmessage. I am using
> eip-content-based-router for routing message to another queue. I m using
> xpath for checking the content of message.
> But i am getting following error:-
>
> [Fatal Error] :1:1: Content is not allowed in prolog.
> WARN  - XPathPredicate                 - Could not evaluate xpath expression
> javax.jbi.messaging.MessagingException: org.xml.sax.SAXParseException:
> Content i
> s not allowed in prolog.
>        at
> org.apache.servicemix.expression.JAXPXPathExpression.evaluate(JAXPXPa
> thExpression.java:150)
>        at
> org.apache.servicemix.expression.JAXPBooleanXPathExpression.evaluate(
> JAXPBooleanXPathExpression.java:46)
>        at
> org.apache.servicemix.eip.support.XPathPredicate.matches(XPathPredica
> te.java:48)
>        at
> org.apache.servicemix.eip.patterns.ContentBasedRouter.getDestination(
> ContentBasedRouter.java:78)
>        at
> org.apache.servicemix.eip.support.AbstractContentBasedRouter.processA
> sync(AbstractContentBasedRouter.java:116)
>        at
> org.apache.servicemix.eip.EIPEndpoint.process(EIPEndpoint.java:161)
>        at
> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
> feCycle.java:540)
>        at
> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
> BaseLifeCycle.java:492)
>        at
> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
> Cycle.java:46)
>        at
> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
> d(DeliveryChannelImpl.java:610)
>        at
> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
> w.java:172)
>        at
> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
> ava:167)
>        at
> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
> a:134)
>        at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExec
> utor.java:650)
>        at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
> .java:675)
>        at java.lang.Thread.run(Thread.java:595)
> Caused by: org.xml.sax.SAXParseException: Content is not allowed in prolog.
>        at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
>        at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
>        at
> org.apache.servicemix.jbi.jaxp.SourceTransformer.toDOMSourceFromStrea
> m(SourceTransformer.java:262)
>        at
> org.apache.servicemix.jbi.jaxp.SourceTransformer.toDOMSource(SourceTr
> ansformer.java:175)
>        at
> org.apache.servicemix.jbi.jaxp.SourceTransformer.toDOMNode(SourceTran
> sformer.java:311)
>        at
> org.apache.servicemix.jbi.jaxp.SourceTransformer.toDOMNode(SourceTran
> sformer.java:330)
>        at
> org.apache.servicemix.expression.JAXPXPathExpression.getXMLNode(JAXPX
> PathExpression.java:244)
>        at
> org.apache.servicemix.expression.JAXPXPathExpression.evaluate(JAXPXPa
> thExpression.java:135)
>        ... 15 more
>
>
> Please tell me whether i need to change the message format or some thing
> else.
>
> Thanks.
>
> Regards,
> Manish
> --
> View this message in context: 
> http://www.nabble.com/Using-xpath-for-message-in-JMS-queue-tp20476423p20476423.html
> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>
>



-- 
Cheers,
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/
------------------------
Open Source SOA
http://fusesource.com

Reply via email to