Hi, I am implementing a simple routing rule with the servicemix-camel component in the ServiceMix 3.2 distribution available for download from the website. I have the following XML configuration:
<route> <from uri="jbi:service:http://test.com/camelRouter"/> <choice> <when> <xpath>//name='Tijs'</xpath> <to uri="jbi:service:http://test.com/myCamel"/> </when> <otherwise> <to uri="jbi:service:http://test.com/otherCamel"/> </otherwise> </choice> </route> The myCamel and otherCamel services are file sender services. I trigger this router with a file poller service. When I run this example I get the following error message: javax.jbi.messaging.MessagingException: javax.xml.transform.TransformerException: java.io.IOException: Stream closed at org.apache.servicemix.components.util.DefaultFileMarshaler.writeMessageContent(DefaultFileMarshaler.java:139) at org.apache.servicemix.components.util.DefaultFileMarshaler.writeMessage(DefaultFileMarshaler.java:76) at org.apache.servicemix.file.FileSenderEndpoint.processInOnly(FileSenderEndpoint.java:83) at org.apache.servicemix.common.endpoints.ProviderEndpoint.process(ProviderEndpoint.java:100) at org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:538) at org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:490) at org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46) at org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610) at org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:170) at org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167) at org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) at java.lang.Thread.run(Thread.java:595) Caused by: javax.xml.transform.TransformerException: java.io.IOException: Stream closed at org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:505) at org.apache.servicemix.jbi.jaxp.SourceTransformer.toResult(SourceTransformer.java:111) at org.apache.servicemix.components.util.DefaultFileMarshaler.writeMessageContent(DefaultFileMarshaler.java:137) ... 13 more Caused by: java.io.IOException: Stream closed at java.io.BufferedInputStream.getBufIfOpen(BufferedInputStream.java:145) at java.io.BufferedInputStream.fill(BufferedInputStream.java:189) at java.io.BufferedInputStream.read(BufferedInputStream.java:235) at org.apache.xerces.impl.XMLEntityManager$RewindableInputStream.read(Unknown Source) at org.apache.xerces.impl.XMLEntityManager.setupCurrentEntity(Unknown Source) at org.apache.xerces.impl.XMLVersionDetector.determineDocVersion(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) at org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:484) ... 15 more I also have tried to do the same thing in a Java RouteBuilder, but I get the exact same error message. When I change the xpath expression to a header evaluation it is working, so it must have something to do with the XPath implementation. Are the XPath implementations of ServiceMix 3.2 and Camel 1.2 compatible? Is this a bug? Thanks, Tijs -- View this message in context: http://www.nabble.com/Stream-closed-with-XPath-expression-in-servicemix-camel-component-tf4751607s12049.html#a13586789 Sent from the ServiceMix - User mailing list archive at Nabble.com.
