servicio instalar example consumir jax-ws cxf

jax ws - instalar - Utilice la excepción CXF JaxWsServerFactoryBean. No se puede encontrar ninguna HttpDestinationFactory registrada desde el Bus



instalar cxf (5)

Incluir cxf-rt-transports-http-jetty jar en el maven pom.xml resolverá el problema.

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

Cuando utilice JaxWsServerFactoryBean de Apache CXF en modo consola (intente iniciar el servidor con la línea de comandos de Java) obtendrá una excepción como la siguiente:

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)

Cuando se utiliza el mismo servicio en Tomcat a través de Spring, funciona.

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


Otra solución que funciona con CSV 2.7.15: cuando cree el Bus , registre una extensión:

ServletDestinationFactory destinationFactory = new ServletDestinationFactory(); bus.setExtension(destinationFactory, HttpDestinationFactory.class);


Por ejemplo, si tiene la siguiente configuración y la dirección está definida con http anexado a la misma, que no es una URL relativa al CXFServlet configurado, aparecerá el error anterior.

<jaxrs:server id="helloRestService" address="http://..."> <jaxrs:serviceBeans> <ref bean="helloService" /> </jaxrs:serviceBeans> </jaxrs:server>

La solución es simplemente mencionar la URL relativa sin http / https adjunto a la dirección.

http://grokbase.com/t/camel/users/155f1smn4v/error-cannot-find-any-registered-httpdestinationfactory-from-the-bus


Yo tuve el mismo problema. Y ninguna de las cosas de google tenía sentido. Descubrí en mi caso que me faltaba lo siguiente en el archivo de contexto de primavera:

<import resource="classpath:META-INF/cxf/cxf.xml" /> <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" /> <import resource="classpath:META-INF/cxf/cxf-servlet.xml" />


Intenta lo siguiente, funcionó para mí -

<dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-transports-http-jetty</artifactId> <version>3.2.5</version> <exclusions> <exclusion> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-server</artifactId> </exclusion> <exclusion> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-util</artifactId> </exclusion> <exclusion> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-io</artifactId> </exclusion> <exclusion> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-security</artifactId> </exclusion> <exclusion> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-continuation</artifactId> </exclusion> <exclusion> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-http</artifactId> </exclusion> </exclusions> </dependency>