[SOLUCIONADO] Apache Tomcat 9 - Error al desplegar proyecto JAX-WS.

Iniciado por LisandroGelder, Octubre 28, 2019, 05:27:06 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Octubre 28, 2019, 05:27:06 PM Ultima modificación: Octubre 29, 2019, 03:33:59 PM por Gabriela
Saludos,
Estoy usando Apache Tomcat 9.0.22, y Java 8 JDK 1.8.0.221. Estoy tratando de desplegar un proyecto Java de servicios JAX-WS con CFX en Tomcat9. El proyecto funciona perfectamente en gassfish3 con java7, pero en tomcat, al momento de desplegar, me arroja este error:

GRAVE: Servlet [cxf] in web application [/xxxapp] threw load() exception
Caused by: java.lang.VerifyError: (class: co/com/mac/xxx/xxx/ws/jaxws_asm/AddXXxxx, method: setArg0 signature: (Lco/com/mac/xxx/xxx/modelo/dto/ListaxxxDTO;)V) Illegal instruction found at offset 1

El proyecto tiene 3 servicios web soap, al comentar los métodos @WebMethod y todo el contenido de las clases de los servicios, Estos levantan correctamente en el tomcat, pero una vez des-comento estos métodos, me arroja este error. si solo comento el método mencionado en el error, me indica error en otro de los métodos, y así sucesivamente hasta que los termine comentando todos.

Cualquier ayuda u orientación que puedan brindarme, les estaré agradecido.


Hola,

Este es un error muy complicado de resolver. Por lo que conozco, la causa más probable es que si estas usando un IDE, este no este refrescando los nuevos jars generado por el cambio a Tomcat, puede ser que se hallan generado varias versiones de una misma biblioteca.
Si no es eso, puede ser que la versión de tomcat no soporten esa versión de CFX. Por lo que veo, glassfish 3 fue lanzada en 2009, ¡hace 10 años!

Saludos y mucha suerte.

Saludos,

Efectivamente era un conflicto de dependencias en Maven, específicamente una librería asm incluida en las librerías de cxf también estaba incluida en hibernate con distinta versión. Se soluciono al añadir la exclusión de la librería asm del hibernate en Maven.

Código: xml
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>3.6.10.Final</version>
<exclusions>
<exclusion>
<groupId>asm</groupId>
<artifactId>asm</artifactId>
</exclusion>
</exclusions>
</dependency>


Costo mucho encontrar la solución, espero esta respuesta sirva a quien tenga el mismo problema.

Saludos, y Gracias.