I got the same problem after careful analysis i found that the if there is no output from Trasformer component we will get this error. Please check the documentation on message exchange patterns
Hope this solves ur problem. dweeks wrote: > > I'm trying to set up a simple jms to xslt to jms assembly, but I'm running > into problems with the xslt transfrom. If I set the targetService > attribute of the consumer to be the jmsProviderService, the jms message > goes through without a problem. However if I set the targetService to be > the xslt transform (as shown below), then I get a "Premature end of file" > (full error at the bottom). > > I'm pretty new to ServiceMix and I don't know if I'm setting this up > correctly. Most of this is pulled from various examples on the website. > > Anyone have any ideas why this isn't working? > > Here is my relevant xbean stuff: > > <!-- consumer --> > <jms:endpoint service="axo:jmsConsumerService" > endpoint="jmsConsumer" > targetService="axo:xsltTransformService" > role="consumer" > destinationStyle="queue" > jmsProviderDestinationName="queue/A" > connectionFactory="#connectionFactory" > defaultMep="http://www.w3.org/2004/08/wsdl/in-out" /> > > > <!-- provider --> > <jms:endpoint service="axo:jmsProviderService" > endpoint="jmsProvider" > role="provider" > destinationStyle="queue" > jmsProviderDestinationName="queue/B" > connectionFactory="#connectionFactory" > /> > > <!-- transform --> > <saxon:xslt service="axo:xsltTransformService" endpoint="xsltTransform" > result="string" > resource="classpath:transform.xslt" /> > > <!-- pipeline --> > <eip:pipeline service="axo:pipelineService" endpoint="pipeline"> > <eip:transformer> > <eip:exchange-target service="axo:xsltTransformService" /> > </eip:transformer> > <eip:target> > <eip:exchange-target service="axo:jmsProvider" /> > </eip:target> > </eip:pipeline> > > > [Fatal Error] :-1:-1: Premature end of file. > ERROR - JmsComponent - Error processing exchange InOut[ > id: ID:137.249.46.82-1151f80803c-4:6 > status: Done > role: consumer > service: {http://axo}xsltTransformService > endpoint: xsltTransform > in: Unable to display: org.xml.sax.SAXParseException: Premature end of > file. > out: <?xml version="1.0" encoding="UTF-8"?><Test>Hello World</Test> > ] > java.lang.UnsupportedOperationException: A destination must be specified. > at > org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:448) > at > org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:356) > at > org.apache.servicemix.jms.multiplexing.MultiplexingConsumerProcessor.process(MultiplexingConsumerProcessor.java:125) > at > org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:489) > at > org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:463) > at > org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46) > at > org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:595) > at > org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:174) > at > org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:176) > at > org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134) > at > edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665) > at > edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690) > at java.lang.Thread.run(Thread.java:619) > ERROR - JmsComponent - Error setting exchange status to > ERROR > java.lang.IllegalStateException: component is not owner when trying to set > error: java.lang.UnsupportedOperationException: A destination must be > specified. > at > org.apache.servicemix.jbi.messaging.MessageExchangeImpl.setError(MessageExchangeImpl.java:224) > at > org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:57) > at > org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:595) > at > org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:174) > at > org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:176) > at > org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134) > at > edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665) > at > edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690) > at java.lang.Thread.run(Thread.java:619) > Caused by: java.lang.UnsupportedOperationException: A destination must be > specified. > at > org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:448) > at > org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:356) > at > org.apache.servicemix.jms.multiplexing.MultiplexingConsumerProcessor.process(MultiplexingConsumerProcessor.java:125) > at > org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:489) > at > org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:463) > at > org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46) > ... 7 more > -- View this message in context: http://www.nabble.com/XsltComponent%3A-Premature-end-of-file.-tf4483983s12049.html#a12875938 Sent from the ServiceMix - User mailing list archive at Nabble.com.
