6 Replies Latest reply on May 28, 2009 4:24 PM by lorinda visnick

    No DestinationFactory was found for ...http://schemas.xmlsoap.org/soap/http

    Juanita Avila Newbie

      Hi,

       

      Using the wsdl-first example as a model, I created a simple WSDL-first service assembly. My bundle will not start because the CXF binding component service unit startup produces this error:

       

      javax.jbi.management.DeploymentException: org.apache.cxf.BusException: No DestinationFactory was found for the namespace http://schemas.xmlsoap.org/soap/http.

       

      Interestingly, I had the same problem with the wsdl-first example when using an old JDK. I tried adding cxf-rt-transports-http-jetty and cxf-rt-transports-http as dependencies in the binding component pom.xml with no luck (although the jetty dependency did solve the wsdl-first example error for me when I using an old JDK).

       

      Additions to my pom.xml

      <dependency>

      <groupId>org.apache.cxf</groupId>

      <artifactId>cxf-rt-transports-http-jetty</artifactId>

      <version>2.2.1</version>

      </dependency>

       

      <dependency>

      <groupId>org.apache.cxf</groupId>

      <artifactId>cxf-rt-transports-http</artifactId>

      <version>2.2</version>

      </dependency>

       

      I also see a similar thread in this forum that recommends starting servicemix with no http proxy, but I don't understand how to do that.

       

      Here is my xbean.xml beans section:

      <beans xmlns:cxfbc="http://servicemix.apache.org/cxfbc/1.0"

      xmlns:suass="http://www.faa.gov/aim/sua/SUAScheduleService">

       

      <cxfbc:consumer wsdl="classpath:SUAScheduleService.wsdl"

      targetService="suass:SUAScheduleService"

      targetInterface="suass:SUAScheduling"/>

       

      </beans>

       

      Here is the binding section from my WSDL:

        <binding name="SUAScheduleSOAPBinding" type="tns:SUAScheduling">

          <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />

          <operation name="getActiveSchedules">

            <soap:operation soapAction="" style="document" />

            <input name="getActiveSchedules">

              <soap:body use="literal" />

            </input>

            <output name="getActiveSchedulesResponse">

              <soap:body use="literal"/>

            </output>

          </operation

       

      Thanks for your help,

          Juanita

        • 1. Re: No DestinationFactory was found for ...http://schemas.xmlsoap.org/soap/http
          lorinda visnick Newbie

          Juanita,

             > Using the wsdl-first example as a model

           

          Which example?  The one from the Logisticx demo or from one of the other distribution example subdirs?  What version of the code base?

           

          I note that your version strings do not contain "fuse" at the end - and they should.  For instance, the example poms all say something like:

              

           

          Can you please compare the example pom to what you have created?  I downloaded/configured and ran the logisticx demo today on my machine and it works without any errors.

           

          Lorinda

          • 2. Re: No DestinationFactory was found for ...http://schemas.xmlsoap.org/soap/http
            Juanita Avila Newbie

            Dear Lorinda,

             

            Thanks for your reply. I am using the latest version of FUSE ESB, 4.1. I am referring to the cfx-wsdl-first example (fuse-esb-4.1.0.0/examples/cfx-wsdl-first), not the Logisticx demo.

             

            I did, in fact, get the cfx-wsdl-first example working, but when I modified the Binding Component Service Unit to use my own WSDL, it failed to start (with the same error I originally saw for the cfx-wsdl-first example when I was using an old JDK). I see that several other users also reported No DestinationFactory errors for FUSE Services Framework when they upgraded from older to newer versions without changing their code. Answers to those posts suggested adding http-jetty to the classpath, so I added that as a dependency in my POM, but it did not help.

             

            You suggest than any project I create needs to have -fuse in the version? Why is this? Are you just referring to the examples?

             

            Thanks,

               Juanita

            • 3. Re: No DestinationFactory was found for ...http://schemas.xmlsoap.org/soap/http
              lorinda visnick Newbie

              Juanita,

                regarding the "-fuse" in the version strings... what I mean is, if you are using our code as a starting point, our code has "*-fuse" as a version string.  And if you are making modifications to that example, then you must continue to use the version string as-is.  This means the version string would have to end in "-fuse".

               

              It is unclear to me if you have taken the sample code and made modifications to it, or if you only used the sample code as a model and created all your files from scratch.

               

              Can you please attach your project?  I will try to reproduce the problem here - that will make it much easier for me to then advise you how to work around the problem you are seeing.

               

              Thank you,

              Lorinda

              • 4. Re: No DestinationFactory was found for ...http://schemas.xmlsoap.org/soap/http
                Ulhas Bhole Novice

                Hi Juanita,

                The version numbers without -fuse version would try to pull Apache CXF artifacts that is what Lorinda was referring to.

                 

                you should be using 2.2.0.0-fuse version of FUSE Services Framework as your dependency.

                both cxf-rt-transports-http-jetty and cxf-rt-transports-http shoudl have verison number 2.2.0.0-fuse.

                 

                Can you attach the failing project (zipped up) so that we can help you further quickly?

                 

                Ulhas

                • 5. Re: No DestinationFactory was found for ...http://schemas.xmlsoap.org/soap/http
                  Juanita Avila Newbie

                  Thanks for your responses! I copied the cxf-wsdl-first example and used it as a model for my code.

                   

                  I am working in FUSE ESB 4.1, not FUSE Services Framework. I actually got a similar piece of code working just fine in Services Framework. My project requires me to use FUSE ESB instead, since I'll also be developing a JMS topic data feed.

                   

                  I haven't done much to the client, but the server side binding component and service engine have been updated. Everything compiles and installs in the maven repository. I am even able to install the OSGI bundle, but the bundle never starts because of the Destination Factory error on the binding component.

                   

                  Thanks a lot for your help,

                     Juanita

                   

                  Edited by: chirino on May 28, 2009 7:16 PM

                  Removed the attachment per user request.

                  • 6. Re: No DestinationFactory was found for ...http://schemas.xmlsoap.org/soap/http
                    lorinda visnick Newbie

                    Juanita,

                       please see response in the support case / confirm you received the messages about this forum thread being exchanged for a support case.

                     

                    Thank you,

                    Lorinda