Use CXF JaxWsServerFactoryBean exception Cannot find any registered HttpDestinationFactory from the Bus

Anderson Mao picture Anderson Mao · Nov 29, 2012 · Viewed 31.9k times · Source

When use Apache CXF JaxWsServerFactoryBean in console mode (try to start the server by java command line) Will get exception like below:

Caused by: java.io.IOException: Cannot find any registered HttpDestinationFactory from the Bus.
        at org.apache.cxf.transport.http.HTTPTransportFactory.getDestination(HTTPTransportFactory.java:295)
        at org.apache.cxf.binding.soap.SoapTransportFactory.getDestination(SoapTransportFactory.java:143)
        at org.apache.cxf.endpoint.ServerImpl.initDestination(ServerImpl.java:93)
        at org.apache.cxf.endpoint.ServerImpl.<init>(ServerImpl.java:72)
        at org.apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java:160)

When same service impl used in Tomcat via Spring, it works.

<jaxws:endpoint id="abc" implementor="com.AbcServicePortTypeImpl" address="/abc">

Answer

sendon1982 picture sendon1982 · Aug 16, 2013

Include cxf-rt-transports-http-jetty jar in the maven pom.xml will solve the problem.

    <dependency>
        <groupId>org.apache.cxf</groupId>
        <artifactId>cxf-rt-transports-http-jetty</artifactId>
        <version>2.7.6</version>
    </dependency>