I guess it's null because the message leaves the bus, becomes JMS message and
then is transformed back into normalize message so the targetOperation is
lost,
if you use only one operation of target service in this use case you can
specify targetOperation on JMS consumer (it's like static mapping), but if
you need to determine target operation based on payload it would be more
difficult,

by the way, why do you need this JMS Provider/Consumer pair in the middle?


jav1erp wrote:
> 
> hi all,
> 
> I have this case:
> 
> External client-----[SOAP]---->CXF-BC Consumer---->JMS Provider---->(
> jms queue)------>JMS Consumer------> CXF-BC
> Provider----[SOAP]---->External service
> 
> The operation name is "update" but after JMS endpoints is null, so
> CXF-BC-provider throw the error 
> "Operation not bound on this MessageExchange..." because there is more
> than one operation name.
> 
> 
> my log:
> 
> --- CXF consumer
> 
> DEBUG - CxfBcComponent                 - Created correlation id:
> ID:127.0.0.1-11f1e91554c-16:0
> DEBUG - DeliveryChannelImpl            - Send
> ID:127.0.0.1-11f1e91554c-16:0 in DeliveryChannel{servicemix-cxf-bc}
> DEBUG - SecuredBroker                  - send exchange with secure broker
> DEBUG - SecuredBroker                  - service name
> :{http://webservice.sso.be/}jmsProvider
> DEBUG - SecuredBroker                  - operation name
> :{http://webservice.sso.be/}update
> DEBUG - SedaFlow                       - Called Flow send
> DEBUG - SedaQueue                      -
> org.apache.servicemix.jbi.nmr.flow.seda.sedaqueu...@bf3bbb dequeued
> exchange: InOnly[
>   id: ID:127.0.0.1-11f1e91554c-16:0
>   status: Active
>   role: provider
>   service: {http://webservice.sso.be/}jmsProvider
>   endpoint: myProvider
>   operation: {http://webservice.sso.be/}update
>   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://webservice.sso.be/";
> xmlns:xsd="http://www.w3.org/2001/XMLSchema";
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; name="update"
> type="msg:update" version="1.0"><jbi:part><ns1:update
> xmlns:ns1="http://webservice.sso.be/";><ns1:user
> xmlns:ns1="http://webservice.sso.be/";><ns2:action
> xmlns:ns2="http://webservice.sso.be";
> xmlns:ns3="http://www.w3.org/2001/XMLSchema-instance";
> ns3:nil="true"/><ns2:birthDate xmlns:ns2="http://webservice.sso.be";
> xmlns:ns3="http://www.w3.org/2001/XMLSchema-instance";
> ns3:nil="true"/><ns2:email xmlns:ns2="http://webservice.sso.be";
> xmlns:ns3="http://www.w3.org/2001/XMLSchema-instance";
> ns3:nil="true"/><ns2:firstName
> xmlns:ns2="http://webservice.sso.be";>1</ns2:firstName><ns2:lastModified
> xmlns:ns2="http://webservice.sso.be";
> xmlns:ns3="http://www.w3.org/2001/XMLSchema-instance";
> ns3:nil="true"/><ns2:lastName
> xmlns:ns2="http://webservice.sso.be";>1</ns2:lastName><ns2:nationalIdentityNumber
> xmlns:ns2="http://webservice.sso.be";
> xmlns:ns3="http://www.w3.org/2001/XMLSchema-instance";
> ns3:nil="true"/><ns2:userName
> xmlns:ns2="http://webservice.sso.be";>014035</ns2:userName></ns1:user></ns1:update></jbi:part></jbi:message>
> ]
> 
> --- JMS
> 
> DEBUG - JmsComponent                   - Created correlation id:
> ID:127.0.0.1-11f1e91554c-17:0
> DEBUG - DeliveryChannelImpl            - SendSync
> ID:127.0.0.1-11f1e91554c-17:0 in DeliveryChannel{servicemix-jms}
> DEBUG - SecuredBroker                  - send exchange with secure broker
> DEBUG - SecuredBroker                  - service name
> :{http://webservice.sso.be/}SSOService
> DEBUG - SecuredBroker                  - operation name :null
> DEBUG - SedaFlow                       - Called Flow send
> DEBUG - DeliveryChannelImpl            - Waiting for exchange
> ID:127.0.0.1-11f1e91554c-17:0 (edacd2) to be answered in
> DeliveryChannel{servicemix-jms} from sendSync
> DEBUG - SedaQueue                      -
> org.apache.servicemix.jbi.nmr.flow.seda.sedaqueu...@1ed3da1 dequeued
> exchange: InOnly[
>   id: ID:127.0.0.1-11f1e91554c-17:0
>   status: Active
>   role: provider
>   service: {http://webservice.sso.be/}SSOService
>   endpoint: SSOServicePort
>   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://webservice.sso.be/";
> xmlns:xsd="http://www.w3.org/2001/XMLSchema";
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; name="update"
> type="msg:update" version="1.0"><jbi:part><ns1:update
> xmlns:ns1="http://webservice.sso.be/";><ns1:user
> xmlns:ns1="http://webservice.sso.be/";><ns2:action
> xmlns:ns2="http://webservice.sso.be";
> xmlns:ns3="http://www.w3.org/2001/XMLSchema-instance";
> ns3:nil="true"/><ns2:birthDate xmlns:ns2="http://webservice.sso.be";
> xmlns:ns3="http://www.w3.org/2001/XMLSchema-instance";
> ns3:nil="true"/><ns2:email xmlns:ns2="http://webservice.sso.be";
> xmlns:ns3="http://www.w3.org/2001/XMLSchema-instance";
> ns3:nil="true"/><ns2:firstName
> xmlns:ns2="http://webservice.sso.be";>1</ns2:firstName><ns2:lastModified
> xmlns:ns2="http://webservice.sso.be";
> xmlns:ns3="http://www.w3.org/2001/XMLSchema-instance";
> ns3:nil="true"/><ns2:lastName
> xmlns:ns2="http://webservice.sso.be";>1</ns2:lastName><ns2:nationalIdentityNumber
> xmlns:ns2="http://webservice.sso.be";
> xmlns:ns3="http://www.w3.org/2001/XMLSchema-instance";
> ns3:nil="true"/><ns2:userName
> xmlns:ns2="http://webservice.sso.be";>014035</ns2:userName></ns1:user></ns1:update></jbi:part></jbi:message>
> ]
> 
> 
> -- CXF provider
> 
> DEBUG - CxfBcComponent                 - Received exchange: status:
> Active, role: provider
> DEBUG - CxfBcComponent                 - Retrieved correlation id:
> ID:127.0.0.1-11f1e91554c-17:0
> ERROR - CxfBcComponent                 - Error processing exchange InOnly[
>   id: ID:127.0.0.1-11f1e91554c-17:0
>   status: Active
>   role: provider
>   service: {http://webservice.sso.be/}SSOService
>   endpoint: SSOServicePort
>   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://webservice.sso.be/";
> xmlns:xsd="http://www.w3.org/2001/XMLSchema";
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; name="update"
> type="msg:update" version="1.0"><jbi:part><ns1:update
> xmlns:ns1="http://webservice.sso.be/";><ns1:user
> xmlns:ns1="http://webservice.sso.be/";><ns2:action
> xmlns:ns2="http://webservice.sso.be";
> xmlns:ns3="http://www.w3.org/2001/XMLSchema-instance";
> ns3:nil="true"/><ns2:birthDate xmlns:ns2="http://webservice.sso.be";
> xmlns:ns3="http://www.w3.org/2001/XMLSchema-instance";
> ns3:nil="true"/><ns2:email xmlns:ns2="http://webservice.sso.be";
> xmlns:ns3="http://www.w3.org/2001/XMLSchema-instance";
> ns3:nil="true"/><ns2:firstName
> xmlns:ns2="http://webservice.sso.be";>1</ns2:firstName><ns2:lastModified
> xmlns:ns2="http://webservice.sso.be";
> xmlns:ns3="http://www.w3.org/2001/XMLSchema-instance";
> ns3:nil="true"/><ns2:lastName
> xmlns:ns2="http://webservice.sso.be";>1</ns2:lastName><ns2:nationalIdentityNumber
> xmlns:ns2="http://webservice.sso.be";
> xmlns:ns3="http://www.w3.org/2001/XMLSchema-instance";
> ns3:nil="true"/><ns2:userName
> xmlns:ns2="http://webservice.sso.be";>014035</ns2:userName></ns1:user></ns1:update></jbi:part></jbi:message>
> ]
> org.apache.cxf.interceptor.Fault: Operation not bound on this
> MessageExchange
>         at
> org.apache.servicemix.cxfbc.CxfBcProvider.process(CxfBcProvider.java:181)
>         at
> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:600)
>         at
> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:554)
>         at
> org.apache.servicemix.common.AsyncBaseLifeCycle.onMessageExchange(AsyncBaseLifeCycle.java:510)
>         at
> org.apache.servicemix.common.SyncLifeCycleWrapper.onMessageExchange(SyncLifeCycleWrapper.java:60)
>         at
> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:623)
>         at
> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172)
>         at
> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:168)
>         at
> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
>         at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>         at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>         at java.lang.Thread.run(Thread.java:619)
> Caused by: java.lang.Exception: Operation not bound on this
> MessageExchange
> 
> 
> my settings are 
> 
> -- JMS
> 
> <jms:provider service="nsSSO:jmsProvider"
>               endpoint="myProvider"
>               destinationName="topicSSO"
>               connectionFactory="#connectionFactory"
>               pubSubDomain="true"
>       />
> <jms:consumer service="nsSSO:jmsConsumer"
>               endpoint="myConsumer"
>               targetService="nsSSO:SSOService" 
>               targetEndpoint="SSOServicePort"
>               destinationName="topicSSO"
>               connectionFactory="#connectionFactory"
>               pubSubDomain="true"
>               subscriptionDurable="true"
>               durableSubscriptionName="consumerSSO"
>               clientId="clientSSO"
>               cacheLevel="3"
>               transacted="jms"
>               />
> 
> 
> -- CXF
> 
> <cxfbc:consumer wsdl="classpath:SSOService.wsdl"
>       endpoint="httpConsumer" 
>       targetService="nsSSO:jmsProvider"
>       targetEndpoint="myProvider">
> </cxfbc:consumer>
>       
> <cxfbc:provider wsdl="classpath:SSOService.wsdl"
>       service="nsSSO:SSOService" endpoint="SSOServicePort"
>       locationURI="http://localhost:9191/ss/remote/sso";>
> </cxfbc:provider>
> 
> 
> 
> 
> 
> Do anyone know why operation name is null after jms endpoints?
> I would appreciate any help with this problem.
> 
> thanks for advance,
> javier
> 
> 

-- 
View this message in context: 
http://www.nabble.com/operation-name-is-null-after-jms-endpoints-tp21713138p21726117.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.

Reply via email to