Síntomas:
AIX 6.1 64bits
weblogic 10.3.5
SOA Suite 11.1.1.5
JDK 1.6
Se
realiza el despliegue el Enterprise Manager em.ear (este articulo también
aplica a cualquier EAR), el despliegue se realiza correctamente pero cuando se
inicializa (Servicing all request) falla con el siguiente error en la consola
web:
Se
consulta el log del AdminServer y no muestra información relevante, solamente el siguiente mensaje:
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
Caused By: java.util.zip.ZipException: error in opening zip file
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(ZipFile.java:137)
at java.util.jar.JarFile.<init>(JarFile.java:149)
at java.util.jar.JarFile.<init>(JarFile.java:86)
at com.sun.faces.facelets.util.Classpath.getAlternativeJarFile(Classpath.java:259)
at com.sun.faces.facelets.util.Classpath.search(Classpath.java:112)
at com.sun.faces.facelets.util.Classpath.search(Classpath.java:89)
at com.sun.faces.config.conf
at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
Caused By: java.util.zip.ZipException: error in opening zip file
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(ZipFile.java:137)
at java.util.jar.JarFile.<init>(JarFile.java:149)
at java.util.jar.JarFile.<init>(JarFile.java:86)
at com.sun.faces.facelets.util.Classpath.getAlternativeJarFile(Classpath.java:259)
at com.sun.faces.facelets.util.Classpath.search(Classpath.java:112)
at com.sun.faces.facelets.util.Classpath.search(Classpath.java:89)
at com.sun.faces.config.conf
Causa:
La
causa de este error pueden ser varias, entre ellas:
- Corrupción del EAR que se desea desplegar.
- Permisos de los archivos que almacena el EAR
- Conflicto de Librerías.
- Corrupción de binarios en el WebLogic
Para
descartar que el EAR esté corrupto puede hacer lo siguiente:
$unzip
midespliegue.ear
Si
los archivos son extraídos correctamente, entonces el EAR no está corrupto.
Si
pasa la prueba de corrupción, entonces ya tendríamos que tener los archivos extraídos,
bastaría con ejecutar la siguiente sentencia para ver los permisos de todos los
archivos extraídos:
ls
-ltr *
Si todos
los permisos son correctos, entonces
se tendría que verificar qué librerías utiliza nuestro despliegue y luego hacer
un análisis si esas librerías existen en el weblogic, sí fueron cargadas
correctamente, si las versiones de las librerías son las correctas, etc., esta fue
la causa de mi problema.
De
no encontrar conflictos entre librerías, la única razón que quedaría sería
corrupción en binarios del Weblogic, por lo que se necesitaría reinstalar el
dominio, o restaurar el dominio desde un backup que se tenga realizado.
Solución:
La
Solución para este problema en particular (despliegue del em.ear) se debe a conflictos
entre las librerias jsf(1.2,1.2.9.0) y jsf(2.0). Unicamente el jsf (1.2) debe estar corriendo en el AdminServer.
1.
Logearse al WebLogic Console (http://hostname:7001/console)
2. Clic
Deployments
3. Clic
en el despliegue jsf(2.0)
4.
Clic Pestaña Targets
5.
Deseleccionar AdminServer
6.
Reiniciar los servicios de WebLogic.
No hay comentarios:
Publicar un comentario