"org.apache.servicemix.nmr.api.ServiceMixException: Could not dispatch exchange. No matching endpoints." when invoking a Camel NMR consumer from JAX-WS client proxy.

Solution Verified - Updated -

Issue

A Camel route consumes from an NMR consumer.

<camel:route id="route1">
  <camel:from uri="nmr:SampleService" />
  ...
</camel:route>

And a JAX-WS client using a configuration like

<jaxws:client id="nmrClient"
  address="nmr:SampleService"
  wsdlLocation="wsdl/simple.wsdl"
  serviceName="s:SampleService"
  serviceClass="org.apache.cxf.test.SampleServicePortType"
  xmlns:s="http://cxf.apache.org">
</jaxws:client>

When the JAX-WS client tries to invoke this Camel route, the invocation results in this error and the request itself will time out.

2013-09-17T11:31:10,471 | WARN  | ent:1.0-thread-2 | NMR | 236 - org.apache.servicemix.nmr.core - 1.6.0.redhat-60024 | 
Error processing exchange [
  id:        1216460847-51122-1378884668598-0-31562
  mep:       InOut
  status:    Active
  role:      Consumer
  target:    PropertyMatchingReference[{NAME=server, INTERFACE_NAME={xml.namespace}wsOperation}]
  operation: {xml.namespace}wsOperation
]

org.apache.servicemix.nmr.api.ServiceMixException: Could not dispatch exchange. No matching endpoints.
        at org.apache.servicemix.nmr.core.FlowRegistryImpl.dispatch(FlowRegistryImpl.java:123)[236:org.apache.servicemix.nmr.core:1.6.0.redhat-60024]
        at org.apache.servicemix.nmr.core.ChannelImpl.dispatch(ChannelImpl.java:308)[236:org.apache.servicemix.nmr.core:1.6.0.redhat-60024]
        at org.apache.servicemix.nmr.core.ChannelImpl.sendSync(ChannelImpl.java:156)[236:org.apache.servicemix.nmr.core:1.6.0.redhat-60024]
        at org.apache.servicemix.nmr.core.ChannelImpl.sendSync(ChannelImpl.java:142)[236:org.apache.servicemix.nmr.core:1.6.0.redhat-60024]
        at org.apache.servicemix.cxf.transport.nmr.NMRConduitOutputStream.commitOutputMessage(NMRConduitOutputStream.java:186)[242:org.apache.servicemix.cxf.transport.nmr:4.5.0.redhat-60024]
        at org.apache.servicemix.cxf.transport.nmr.NMRConduitOutputStream.doClose(NMRConduitOutputStream.java:83)[242:org.apache.servicemix.cxf.transport.nmr:4.5.0.redhat-60024]
        at org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:186)[147:org.apache.cxf.cxf-api:2.6.0.redhat-60024]
        at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)[147:org.apache.cxf.cxf-api:2.6.0.redhat-60024]
        at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)[147:org.apache.cxf.cxf-api:2.6.0.redhat-60024]
        at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:262)[147:org.apache.cxf.cxf-api:2.6.0.redhat-60024]
        at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:530)[147:org.apache.cxf.cxf-api:2.6.0.redhat-60024]
        at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:463)[147:org.apache.cxf.cxf-api:2.6.0.redhat-60024]
        at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:366)[147:org.apache.cxf.cxf-api:2.6.0.redhat-60024]
        at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:319)[147:org.apache.cxf.cxf-api:2.6.0.redhat-60024]
        at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96)[161:org.apache.cxf.cxf-rt-frontend-simple:2.6.0.redhat-60024]
        at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:134)[160:org.apache.cxf.cxf-rt-frontend-jaxws:2.6.0.redhat-60024]
...

Environment

  • JBoss Fuse 6.0

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content