Underc0de

Foros Generales => Dudas y pedidos generales => Mensaje iniciado por: LisandroGelder en Octubre 28, 2019, 05:27:06 PM

Título: [SOLUCIONADO] Apache Tomcat 9 - Error al desplegar proyecto JAX-WS.
Publicado por: LisandroGelder en Octubre 28, 2019, 05:27:06 PM
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.

Título: Re:Apache Tomcat 9 - Error al desplegar proyecto JAX-WS.
Publicado por: tr0n en Octubre 28, 2019, 08:58:43 PM
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.
Título: Re:Apache Tomcat 9 - Error al desplegar proyecto JAX-WS.
Publicado por: LisandroGelder en Octubre 29, 2019, 12:47:01 PM
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) [Seleccionar]
<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.