L.S., It appears that you have two consumer endpoint. Both the HTTP endpoint and the JMS endpoint specify role="consumer". What exactly do you want to do? - receive an HTTP request (<http:endpoint role="consumer") and forward it to a JMS queue (<jms:endpoint role="provider") - receive a JMS message (<jms:endpoint role="consumer") and do a web service call from that one (<http:endpoint role="provider")
Regards, Gert Mahehs Patil wrote: > > Hi Gert , > Following is the Http's xbean.xml file. > > <beans xmlns:http="http://servicemix.apache.org/http/1.0" > xmlns:good="http://motorola.com/good"> > > <http:endpoint service="good:good" > endpoint="goodSOAP" > role="consumer" > locationURI="http://0.0.0.0:8787/good" > defaultMep="http://www.w3.org/2004/08/wsdl/in-out" > soap="true" /> > > </beans> > > > Gert Vanthienen wrote: >> >> L.S., >> >> I'm not sure if it has anything to do with it, but your <jms:endpoint /> >> specifies its own name as the targetService. What it is the name of >> your HTTP service endpoint? >> >> Regards, >> >> Gert >> >> Mahehs Patil wrote: >>> Hi All, >>> I am devolping project using Http Service Unit , JSR181 & JMS service >>> unit. >>> I got errors on servicemix server related to JMS client. >>> JMS client sends message to server which is soap message. >>> I bind the JMS service unit to Http service unit. >>> When I send request to Http service unit it forwards the message to JMS >>> unit. >>> >>> Following is the JMS component configuration: >>> <beans xmlns:jms="http://servicemix.apache.org/jms/1.0" >>> xmlns:test="http://motorola.com/good"> >>> <classpath> >>> <location>.</location> >>> </classpath> >>> <jms:endpoint service="test:good" >>> endpoint="endpoint" >>> targetService="test:good" >>> defaultOperation="test:getName" >>> role="consumer" >>> connectionFactory="#jmsFactory" >>> >>> defaultMep="http://www.w3.org/2004/08/wsdl/in-out" >>> destinationStyle="queue" >>> jmsProviderDestinationName="com.motorola.jms" /> >>> >>> >>> <bean id="jmsFactory" >>> class="org.apache.activemq.pool.PooledConnectionFactory"> >>> <property name="connectionFactory"> >>> <bean class="org.apache.activemq.ActiveMQConnectionFactory"> >>> <property name="brokerURL" value="tcp://localhost:61616" /> >>> </bean> >>> </property> >>> </bean> >>> >>> </beans> >>> >>> >>> >>> >>> On service mix server side the JMS component thorws error. >>> ERROR - DefaultFaultHandler - Fault occurred! >>> org.codehaus.xfire.XFireRuntimeException: Couldn't parse stream.. Nested >>> exception is com.ctc.wstx.e >>> xc.WstxUnexpectedCharException: Unexpected character 'x' (code 120) >>> excepted >>> space, or '>' or "/>" >>> at [row,col {unknown-source}]: [1,106] >>> com.ctc.wstx.exc.WstxUnexpectedCharException: Unexpected character 'x' >>> (code >>> 120) excepted space, or >>> '>' or "/>" >>> at [row,col {unknown-source}]: [1,106] >>> at >>> com.ctc.wstx.sr.StreamScanner.throwUnexpectedChar(StreamScanner.java:600) >>> at >>> com.ctc.wstx.sr.BasicStreamReader.handleNsAttrs(BasicStreamReader.java:2844) >>> at >>> com.ctc.wstx.sr.BasicStreamReader.handleStartElem(BasicStreamReader.java:2815) >>> at >>> com.ctc.wstx.sr.BasicStreamReader.handleRootElem(BasicStreamReader.java:1980) >>> at >>> com.ctc.wstx.sr.BasicStreamReader.nextFromProlog(BasicStreamReader.java:1960) >>> at >>> com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1054) >>> at >>> org.codehaus.xfire.util.stax.DepthXMLStreamReader.next(DepthXMLStreamReader.java:251) >>> at >>> org.codehaus.xfire.util.STAXUtils.toNextElement(STAXUtils.java:82) >>> at >>> org.codehaus.xfire.service.binding.RPCBinding.readMessage(RPCBinding.java:35) >>> at >>> org.apache.servicemix.jsr181.xfire.ServiceFactoryHelper$FixedJAXWSOperationBinding.readMe >>> ssage(ServiceFactoryHelper.java:416) >>> at >>> org.codehaus.xfire.soap.handler.SoapBodyHandler.invoke(SoapBodyHandler.java:42) >>> at >>> org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131) >>> at >>> org.codehaus.xfire.transport.DefaultEndpoint.onReceive(DefaultEndpoint.java:64) >>> at >>> org.codehaus.xfire.transport.AbstractChannel.receive(AbstractChannel.java:38) >>> at >>> org.apache.servicemix.jsr181.Jsr181ExchangeProcessor.process(Jsr181ExchangeProcessor.java >>> :110) >>> at >>> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:489) >>> at >>> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:4 >>> 41) >>> at >>> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46) >>> at >>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImp >>> l.java:593) >>> 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(ThreadPo >>> olExecutor.java:665) >>> at >>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolEx >>> ecutor.java:690) >>> at java.lang.Thread.run(Thread.java:595) >>> [Fatal Error] :-1:-1: Premature end of file. >>> ERROR - JmsComponent - Error processing exchange >>> InOut[ >>> id: ID:dscp04570-1265-1177418110113-17:1 >>> status: Done >>> role: consumer >>> service: {http://motorola.com/good}good >>> endpoint: goodSOAP >>> operation: {http://motorola.com/good}getName >>> in: Unable to display: org.xml.sax.SAXParseException: Premature end of >>> file. >>> fault: <?xml version="1.0" >>> encoding="UTF-8"?><stack><![CDATA[org.codehaus.xfire.fault.XFireFault: >>> Couldn't parse stream.. Nested exception is >>> com.ctc.wstx.exc.WstxUnexpectedCharException: Unexpected >>> character 'x' (code 120) excepted space, or '>' or "/>" >>> at [row,col {unknown-source}]: [1,106] >>> at >>> org.codehaus.xfire.fault.XFireFault.createFault(XFireFault.java:89) >>> at >>> org.codehaus.xfire.transport.DefaultEndpoint.onReceive(DefaultEndpoint.java:70) >>> at >>> org.codehaus.xfire.transport.AbstractChannel.receive(AbstractChannel.java:38) >>> at >>> org.apache.servicemix.jsr181.Jsr181ExchangeProcessor.process(Jsr181ExchangeProcessor.java >>> :110) >>> at >>> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:489) >>> at >>> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:4 >>> 41) >>> at >>> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46) >>> at >>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImp >>> l.java:593) >>> 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(ThreadPo >>> olExecutor.java:665) >>> at >>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolEx >>> ecutor.java:690) >>> at java... >>> ] >>> java.lang.UnsupportedOperationException: A destination must be >>> specified. >>> at >>> org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:448) >>> at >>> org.apache.activemq.pool.PooledProducer.send(PooledProducer.java:75) >>> at >>> org.apache.activemq.pool.PooledProducer.send(PooledProducer.java:60) >>> at >>> org.apache.servicemix.jms.multiplexing.MultiplexingConsumerProcessor.process(Multiplexing >>> ConsumerProcessor.java:125) >>> at >>> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:489) >>> at >>> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:4 >>> 63) >>> at >>> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46) >>> at >>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImp >>> l.java:593) >>> 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(ThreadPo >>> olExecutor.java:665) >>> at >>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolEx >>> ecutor.java:690) >>> at java.lang.Thread.run(Thread.java:595) >>> ERROR - JmsComponent - Error setting exchange status >>> to >>> ERROR >>> java.lang.IllegalStateException: component is not owner when trying to >>> set >>> error: java.lang.Unsuppor >>> tedOperationException: A destination must be specified. >>> at >>> org.apache.servicemix.jbi.messaging.MessageExchangeImpl.setError(MessageExchangeImpl.java >>> :223) >>> at >>> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:57) >>> at >>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImp >>> l.java:593) >>> 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(ThreadPo >>> olExecutor.java:665) >>> at >>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolEx >>> ecutor.java:690) >>> at java.lang.Thread.run(Thread.java:595) >>> Caused by: java.lang.UnsupportedOperationException: A destination must >>> be >>> specified. >>> at >>> org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:448) >>> at >>> org.apache.activemq.pool.PooledProducer.send(PooledProducer.java:75) >>> at >>> org.apache.activemq.pool.PooledProducer.send(PooledProducer.java:60) >>> at >>> org.apache.servicemix.jms.multiplexing.MultiplexingConsumerProcessor.process(Multiplexing >>> ConsumerProcessor.java:125) >>> at >>> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:489) >>> at >>> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:4 >>> 63) >>> at >>> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46) >>> ... 7 more >>> >>> >> >> >> > > -- View this message in context: http://www.nabble.com/JMS-Component-Error-tf3638495s12049.html#a10216812 Sent from the ServiceMix - User mailing list archive at Nabble.com.
