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