Uploaded image for project: 'Red Hat Fuse'
  1. Red Hat Fuse
  2. ENTESB-881

Allow to specify InterfaceName/ServiceName in Camel NMR component.

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 7.1.1, jboss-fuse-6.1, M1
    • jboss-fuse-6.0
    • None
    • None
    • % %

      The Camel NMR component is currently only configured via an endpoint name, e.g.

      <camel:from uri="nmr:SampleService" />
      

      A CXF JAX-WS client proxy that uses the CXF NMR transport however is configured using

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

      In particular the interface (serviceClass) attribute needs to be specified.
      Trying to invoke from the CXF client proxy to the NMR endpoint that is created by the Camel route results in

      2013-09-20 10:52:43,483 | WARN  | tp1141105573-642 | NMR                              | .servicemix.nmr.core.ChannelImpl  315 | 148 - org.apache.servicemix.nmr.core - 1.6.0.redhat-60024 | Error processing exchange [
       id:        596988866-57191-1379600330539-0-5
       mep:       InOut
       status:    Active
       role:      Consumer
       target:    PropertyMatchingReference[{NAME=SampleService, INTERFACE_NAME={http://cxf.apache.org}SampleServicePortType}]
       operation: {http://cxf.apache.org}SampleService1
      ]
      org.apache.servicemix.nmr.api.ServiceMixException: Could not dispatch exchange. No matching endpoints.
      

              yfang@redhat.com Freeman(Yue) Fang
              rhn-support-tmielke Torsten Mielke
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

                Created:
                Updated:
                Resolved: