4 Replies Latest reply on Oct 5, 2011 10:30 AM by gt6081a

    Setting up a CXF provider to Salesforce.com

    gt6081a

      I am trying to setup a cxfbc:provider on the bus that is for Salesforce.com.  Currently when I hit the simple camel route (listed below) through SOAP UI I get an error.  I have attached the provider jar in case any of it helps.  There is an extra layer of complexity in this in that the service for salesforce.com is through an SSL call, but I don't think that is a factor in this error message yet.  I appreciate any help or information that can assist in this, and I apologize as I am very new to all of this.

       

      The provider:

       

       

       

      The error:

      org.apache.cxf.interceptor.Fault: Operation not bound on this MessageExchange

           at org.apache.servicemix.cxfbc.CxfBcProvider.findOperation(CxfBcProvider.java:550)

           at org.apache.servicemix.cxfbc.CxfBcProvider.process(CxfBcProvider.java:219)

           at org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:630)

           at org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:587)

           at org.apache.servicemix.common.AsyncBaseLifeCycle.processExchangeInTx(AsyncBaseLifeCycle.java:485)

           at org.apache.servicemix.common.AsyncBaseLifeCycle$2.run(AsyncBaseLifeCycle.java:360)

           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:662)

      Caused by: java.lang.Exception: Operation not bound on this MessageExchange

           ... 9 more

       

       

      The Camel Route:

       

         

        • 1. Re: Setting up a CXF provider to Salesforce.com
          ffang

          Hi,

           

          The cxf bc provider can handle the message based on the schema described in the wsdl, and cxf bc provider will try to extract operationName from xml payload based on the service model(which is built from the wsdl model)

          The error

          org.apache.cxf.interceptor.Fault: Operation not bound on this MessageExchange

          generally means the incoming message doesn't comply with the wsdl model.

           

          Freeman

          • 2. Re: Setting up a CXF provider to Salesforce.com
            gt6081a

            SOAP UI generated the xml messages to submit to the server:9494/SalesForceTarget in its proper format, I confirmed this by sending the exact same xml messages to the actual salesforce.com webservice at their site (the locationURI in the provider) which uses the same WSDL, which ended up giving a valid response.

             

            Edited by: gt6081a on Oct 4, 2011 1:36 PM

            • 3. Re: Setting up a CXF provider to Salesforce.com
              ffang

              Hi,

               

              By default cxf bc provider expect a JBI message but not the SOAP message, so try add

              useJBIWrapper="false" to cxf bc provider endpoint configuration, this can make it handle a soap message.

               

              Freeman

              • 4. Re: Setting up a CXF provider to Salesforce.com
                gt6081a

                That did it, I appreciate the help!