The problem is described by java.lang.UnsupportedOperationException: A
destination must be specified.
When using an InOut exchange, the jms consumer need to send a JMS
message for the response.
This destination is retrieved from the JMS message on the JMSReplyTo
header which has to be set to a
sensible value when the JMS message is sent.
On Wed, Nov 12, 2008 at 2:11 PM, manish_goyal
<[EMAIL PROTECTED]> wrote:
>
> Hi,
>
> I am getting following error while sending JAVA object to ActiveMQ JMS
> queue.
> I am first converting object to SOAP message and then
> ByteArrayOutputStream.
>
> [Fatal Error] :1:1: Content is not allowed in prolog.
> ERROR - JmsComponent - Error processing exchange InOut[
> id: ID:10.94.117.3-11d904df1ca-11:25
> status: Error
> role: consumer
> service: {http://cbr.eip.servicemix.apache.cvs.router}router
> endpoint: endpoint
> in: Unable to display: org.xml.sax.SAXParseException: Content is not
> allowed i
> n prolog.
> error: javax.jbi.messaging.MessagingException:
> javax.xml.transform.Transformer
> Exception: org.xml.sax.SAXParseException: Content is not allowed in prolog.
> ]
> java.lang.UnsupportedOperationException: A destination must be specified.
> at
> org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProdu
> cer.java:195)
> at
> org.apache.activemq.ActiveMQMessageProducerSupport.send(ActiveMQMessa
> geProducerSupport.java:241)
> at
> org.apache.servicemix.jms.multiplexing.MultiplexingConsumerProcessor.
> process(MultiplexingConsumerProcessor.java:120)
> at
> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
> feCycle.java:540)
> at
> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
> BaseLifeCycle.java:514)
> 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)
> ERROR - JmsComponent - Error setting exchange status to
> ERROR
> javax.jbi.messaging.MessagingException: illegal call to send / sendSync
> at
> org.apache.servicemix.jbi.messaging.MessageExchangeImpl.handleSend(Me
> ssageExchangeImpl.java:614)
> at
> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.doSend(Delive
> ryChannelImpl.java:385)
> at
> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.send(Delivery
> ChannelImpl.java:431)
> at
> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
> Cycle.java:58)
> 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)
>
>
>
> Please give some pointer to solve this issue as soon as possible.
>
> Thanks.
>
> Regards,
> Manish
> --
> View this message in context:
> http://www.nabble.com/Getting-error-while-sending-JAVA-Objcet-to-ActiveMQ-JMS-queue-tp20460045p20460045.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