2011-05-19 39 views
22

Esto es parte de mi pom.xml:¿Qué pasa con mi cliente Apache CXF?

<dependency> 
    <groupId>org.apache.cxf</groupId> 
    <artifactId>cxf-rt-frontend-jaxws</artifactId> 
    <version>${cxf.version}</version> 
    <scope>runtime</scope> 
</dependency> 
<dependency> 
    <groupId>org.apache.cxf</groupId> 
    <artifactId>cxf-rt-transports-http</artifactId> 
    <version>${cxf.version}</version> 
    <scope>runtime</scope> 
</dependency> 

Estoy tratando de utilizar Apache CXF como una implementación de JAX-WS. Todo funciona bien (código Java se genera a partir de WSDL mediante org.apache.cxf:cxf-codegen-plugin:2.4.0), hasta que la ejecución:

java.lang.NoSuchMethodError: 
javax.wsdl.xml.WSDLReader.readWSDL(Ljavax/wsdl/xml/WSDLLocator;Lorg/w3c/dom/Element;)Ljavax/wsdl/Definition; 
at org.apache.cxf.wsdl11.WSDLManagerImpl.loadDefinition(WSDLManagerImpl.java:237) 
at org.apache.cxf.wsdl11.WSDLManagerImpl.getDefinition(WSDLManagerImpl.java:186) 
at org.apache.cxf.wsdl11.WSDLServiceFactory.<init>(WSDLServiceFactory.java:91) 
at org.apache.cxf.jaxws.ServiceImpl.initializePorts(ServiceImpl.java:203) 
at org.apache.cxf.jaxws.ServiceImpl.<init>(ServiceImpl.java:147) 
at org.apache.cxf.jaxws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:90) 
at javax.xml.ws.Service.<init>(Service.java:56) 
.... 

De qué se trata? ¿Qué dependencia perdí?

Respuesta

28

Es probable que tenga una versión 1.5 (o anterior) de wsdl4j procedente de algún otro lugar. CXF requiere las versiones 1.6.x.

EDIT:

también estar en la búsqueda para la versión de eje de este frasco. Puede excluirlo de esta manera:

 <exclusions> 
      <exclusion> 
       <artifactId>axis-wsdl4j</artifactId> 
       <groupId>axis</groupId> 
      </exclusion> 
     </exclusions> 
+0

que tenía un WS heredados utilizando Eje mezclado en causar dolor, añadir a la misma que la versión eje tiene "eje" agregado al ID del grupo :(- gracias por este – javamonkey79

+1

de +1 Gracias @ DanielKulp, esto me salvó el tiempo. – tarrsalah

2

Esta dependencia es wsdl4j-1.6.2.jar, probablemente no se resuelva transitoriamente con el conjunto actual de dependencias que tiene.

Cuestiones relacionadas