This is fine because the jms consumer will target the http provider. JBI endpoint must be unique, but BC consumer endpoints do not activate any JBI endpoint ;-)
On 4/24/07, Gert Vanthienen <[EMAIL PROTECTED]> 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 > >
-- Cheers, Guillaume Nodet ------------------------ Principal Engineer, IONA Blog: http://gnodet.blogspot.com/
