Hi Freeman,
I did the change you suggested. Now it is working!
Thank you!
Wilson.
Freeman Fang-2 wrote:
>
> Hi Wilson,
>
> Seems that the operation info of the MessageExchange is missing.
> Would you please add
> defaultOperation="pedido :enviarPedido "
> for your jms consumer endpoint and try again?
>
> Best Regards
>
> Freeman
>
> Wilson Freitas wrote:
>> Hi,
>>
>> I am using servicemix 3.2.1.
>>
>> I am trying to do this:
>>
>> External client-----[SOAP]---->CXF-BC Consumer---->JMS Provider---->(
>> jms queue)------>JMS Consumer------> CXF-BC
>> Provider----[SOAP]---->External service
>>
>> All MEPs are InOnly. If CXF-BC sends messages directly to CXF-BC
>> provider (no JMS) it works fine. When I add the JMS endpoints the
>> message is not delivered and I have the following console output
>> during message exchange:
>>
>> -------------CONSOLE OUTPUT - BEGIN ---------------------------------
>> ERROR - CxfBcComponent - Error processing exchange
>> InOnly[
>> id: ID:10.0.0.71-11763adf8e5-11:10
>> status: Active
>> role: provider
>> service: {http://www.tc.com/ pedido}pedido
>> endpoint: pedidoSOAP
>> in: <? xml version="1.0" encoding="UTF-8"?><jbi:message
>> xmlns:jbi="http://java.sun.com/ xml/ns/jbi/wsdl -11-wrapper"
>> xmlns:msg="http://www. tc.com/pedido" name=" enviarPedidoRequest"
>> type="msg:enviarPedidoRequest" version="
>> 1.0"><jbi:part><ns2:enviarPedido xmlns:ns2="http://www.
>> tc.com/pedido"><in>AAAAAAAAAAHHHHH![0]</in></ns2:
>> enviarPedido></jbi:part></jbi:message>
>> ]
>> java. lang.NullPointerException
>> at java.util.concurrent.
>> ConcurrentHashMap.hash(ConcurrentHashMap.java:157)
>> at java.util.concurrent.
>> ConcurrentHashMap.get(ConcurrentHashMap.java:730)
>> at org. apache.cxf.service.model.BindingInfo.
>> getOperation(BindingInfo.java:112)
>> at org.apache. servicemix.cxfbc.CxfBcProvider.process(
>> CxfBcProvider.java:123)
>> at org.apache.servicemix.common.
>> AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:538)
>> at org. apache.servicemix.common.
>> AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:490)
>> at org. apache.servicemix.common.
>> BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
>> at org. apache.servicemix.jbi.messaging.
>> DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610)
>> at org. apache.servicemix.jbi .nmr.flow.AbstractFlow.
>> doRouting(AbstractFlow.java:170)
>> at org.apache. servicemix.jbi.nmr.flow.
>> seda.SedaFlow.doRouting( SedaFlow.java:167)
>> at org.apache.servicemix. jbi.nmr.flow.seda.
>> SedaQueue$1.run(SedaQueue.java:134)
>> at java.util.concurrent.
>> ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
>> at java. util.concurrent.ThreadPoolExecutor$Worker.run(
>> ThreadPoolExecutor.java:675)
>> at java.lang.Thread.run(Thread.java:595)
>> ERROR - JmsComponent - Error processing exchange
>> InOnly[
>> id: ID:10.0.0.71-11763adf8e5-11:10
>> status: Error
>> role: consumer
>> service: {http://www.tc.com/pedido} pedido
>> endpoint: pedidoSOAP
>> in: <?xml version="1.0" encoding=" UTF-8"?><jbi:message
>> xmlns:jbi="http://java.sun.com/ xml/ns/jbi/wsdl -11-wrapper"
>> xmlns:msg="http://www. tc.com/pedido" name=" enviarPedidoRequest"
>> type="msg:enviarPedidoRequest" version="
>> 1.0"><jbi:part><ns2:enviarPedido xmlns:ns2="http://www.
>> tc.com/pedido"><in>AAAAAAAAAAHHHHH![0]</in></ns2:
>> enviarPedido></jbi:part></jbi:message>
>> error: java. lang.NullPointerException
>> ]
>> 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:120)
>> at org.apache.servicemix.common. AsyncBaseLifeCycle.doProcess(
>> AsyncBaseLifeCycle.java:538)
>> at org.apache.servicemix.common.
>> AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:512)
>> at org. apache.servicemix.common.
>> BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
>> at org. apache.servicemix.jbi.messaging.
>> DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610)
>> at org. apache.servicemix.jbi .nmr.flow.AbstractFlow.
>> doRouting(AbstractFlow.java:170)
>> at org.apache. servicemix.jbi.nmr.flow.
>> seda.SedaFlow.doRouting( SedaFlow.java:167)
>> at org.apache.servicemix. jbi.nmr.flow.seda.
>> SedaQueue$1.run(SedaQueue.java:134)
>> at java.util.concurrent.
>> ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.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(
>> MessageExchangeImpl.java:614)
>> at org.apache.servicemix.
>> jbi.messaging.DeliveryChannelImpl.doSend(
>> DeliveryChannelImpl.java:385)
>> at org.apache.servicemix.
>> jbi.messaging.DeliveryChannelImpl.send(DeliveryChannelImpl.java:431)
>> at org. apache.servicemix.common.
>> BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:58)
>> at org. apache.servicemix.jbi.messaging.
>> DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610)
>> at org. apache.servicemix.jbi .nmr.flow.AbstractFlow.
>> doRouting(AbstractFlow.java:170)
>> at org.apache. servicemix.jbi.nmr.flow.
>> seda.SedaFlow.doRouting( SedaFlow.java:167)
>> at org.apache.servicemix. jbi.nmr.flow.seda.
>> SedaQueue$1.run(SedaQueue.java:134)
>> at java.util.concurrent.
>> ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
>> at java. util.concurrent.ThreadPoolExecutor$Worker.run(
>> ThreadPoolExecutor.java:675)
>> at java.lang.Thread.run(Thread.java:595)
>> -------------CONSOLE OUTPUT - END ---------------------------------
>>
>> Endpoints configuration:
>>
>> ------------CXF-BC---BEGIN-------------------------------------------------
>> <?xml version="1.0" encoding="UTF-8"?>
>> <beans
>> xmlns:cxfbc="http://servicemix.apache.org/cxfbc/1.0"
>> xmlns:pedido="http://www.tc.com/pedido">
>>
>> <cxfbc:consumer
>> wsdl="classpath:pedido.wsdl"
>> endpoint="pedidoHTTPConsumer"
>> interfaceName="pedido:pedidoHTTPConsumerInterface"
>> targetService="pedido:PedidoFilaProvider"
>> />
>>
>> <cxfbc:provider
>> wsdl="classpath:pedido.wsdl"
>> endpoint="pedidoSOAP"
>> service="pedido:pedido"
>> interfaceName="pedido:pedidoInterface"
>> locationURI="http://localhost:9000/pedidoService"
>> />
>>
>> </beans>
>> ------------CXF-BC---END-------------------------------------------------
>>
>> ------------JMS---BEGIN-------------------------------------------------
>> <?xml version="1.0" encoding="UTF-8"?>
>> <beans
>> xmlns:jms="http://servicemix.apache.org/jms/1.0"
>> xmlns:pedido="http://www.tc.com/pedido">
>>
>> <jms:endpoint
>> service="pedido:PedidoFilaProvider"
>> endpoint="PedidoFilaProvider"
>> role="provider"
>> destinationStyle="queue"
>> jmsProviderDestinationName="queue/pedidoFila"
>> connectionFactory="#connectionFactory"
>> interfaceName="pedido:PedidoFila"
>> />
>>
>> <jms:endpoint
>> service="pedido:PedidoFilaConsumer"
>> endpoint="PedidoFilaConsumer"
>> targetService="pedido:pedido"
>> role="consumer"
>> destinationStyle="queue"
>> jmsProviderDestinationName="queue/pedidoFila"
>> connectionFactory="#connectionFactory"
>> defaultMep="http://www.w3.org/2004/08/wsdl/in-only"
>> />
>>
>> <bean
>> id="connectionFactory"
>> class="org.apache.activemq.ActiveMQConnectionFactory">
>>
>> <property
>> name="brokerURL"
>> value="tcp://localhost:61616"
>> />
>> </bean>
>>
>> </beans>
>> ------------JMS---END-------------------------------------------------
>>
>> ------------WSDL-BEGIN--------------------------------------------
>> <?xml version="1.0" encoding="UTF-8"?>
>> <wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
>> xmlns:tns="http://www.tc.com/pedido"
>> xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
>> xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="pedido"
>> targetNamespace="http://www.tc.com/pedido">
>> <wsdl:types>
>> <xsd:schema targetNamespace="http://www.tc.com/pedido">
>> <xsd:element name="enviarPedido">
>> <xsd:complexType>
>> <xsd:sequence>
>> <xsd:element name="in"
>> type="xsd:string" />
>> </xsd:sequence>
>> </xsd:complexType>
>> </xsd:element>
>> </xsd:schema>
>> </wsdl:types>
>> <wsdl:message name="enviarPedidoRequest">
>> <wsdl:part element="tns:enviarPedido" name="parameters" />
>> </wsdl:message>
>> <wsdl:portType name="pedido">
>> <wsdl:operation name="enviarPedido">
>> <wsdl:input message="tns:enviarPedidoRequest" />
>>
>> </wsdl:operation>
>> </wsdl:portType>
>> <wsdl:binding name="pedidoSOAP" type="tns:pedido">
>> <soap:binding style="document"
>> transport="http://schemas.xmlsoap.org/soap/http" />
>> <wsdl:operation name="enviarPedido">
>> <soap:operation
>>
>> soapAction="http://www.tc.com/pedido/enviarPedido" />
>> <wsdl:input>
>> <soap:body use="literal" />
>> </wsdl:input>
>> </wsdl:operation>
>> </wsdl:binding>
>> <wsdl:service name="pedido">
>> <wsdl:port binding="tns:pedidoSOAP" name="pedidoSOAP">
>> <soap:address
>> location="http://0.0.0.0:9001/pedidoService" />
>> </wsdl:port>
>> </wsdl:service>
>> </wsdl:definitions>
>> ------------WSDL-END--------------------------------------------
>>
>> Any ideas?
>>
>> Thank you,
>>
>> Wilson
>>
>>
>
>
--
View this message in context:
http://www.nabble.com/CXF-BC-%2B-JMS-problem-tp14737681s12049p14761734.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.