Problemas de despliegue de aplicaciones
Puede encontrar problemas durante el despliegue, la instalación o la promoción de aplicaciones. En este tema se explica cómo resolver estos problemas.
¿Qué clase de problema tiene?
- La aplicación no se visualiza
- No se puede procesar una aplicación desplegada.
java.lang.RuntimeException: java.lang.RuntimeException: Error Failed_saving_bytes_to_wor_ERROR_ en la herramienta de ensamblaje, en la consola administrativa o en la herramienta wsadmin
- Recibo el error WASX7015E al ejecutar el mandato wsadmin $AdminApp installInteractive o $AdminApp install
- No puede instalar un bean de entidad CMP o BMP en un módulo EJB 3.0
- El Lenguaje de definición de datos (DDL) generado por una herramienta de ensamblaje genera un error SQL en la plataforma de destino
- ADMA0004E: Ha fallado la validación
- No se puede cargar el recurso WEB-INF/ibm-web-bnd.xmi en el archivo archivador.
- No se ha especificado un destino válido en ObjectName unObjeto para el módulo nombre_módulo desde la instalación
- La opción addNode -includeapps aparentemente no carga todas las aplicaciones en el gestor de despliegue.
- Se muestra un error de "tiempo de espera excedido" al intentar instalar una aplicación empresarial en la consola administrativa
- NameNotFoundException al desplegar una aplicación que contenga un módulo EJB
Durante la instalación de la aplicación, la llamada a EJB Deploy genera una excepción
- Errores de compilación y un error de despliegue de EJB al instalar un archivo JAR de EJB generado por la Versión 5.x o anteriores
- Cuando se cargan documentos, addNode -includeapps falla con una excepción OutOfMemoryError
- OutOfMemory en el gestor de despliegue
- Después de instalar la aplicación en una máquina diferente, la aplicación no se ejecuta.
- Un archivo individual sustituye todos los archivos de aplicaciones durante la actualización de la aplicación.
- Compruebe que el nombre lógico que ha especificado para que aparezca en la consola de la aplicación, el módulo de enterprise bean u otro recurso no contenga caracteres que no son válidos como, por ejemplo: - / \ : * ? " < > |.
- Si la aplicación se ha instalado utilizando el mandato de wsadmin $AdminApp install con el distintivo -local, reinicie el servidor o vuelva a ejecutar el mandato sin el distintivo -local.
Si no encuentra ningún problema que se asemeje al suyo o si la información proporcionada no resuelve el problema, consulte para ver si el problema está identificado y documentado.
Consulte el soporte en línea disponible incluidas las sugerencias, notas técnicas y arreglos. Si su problema no ha sido identificado, consulte Ayuda para la resolución de problemas de IBM.
La aplicación no se visualiza
La aplicación se ha instalado mediante la herramienta wsadmin, pero no se visualiza en
.- Compruebe que el subdirectorio de la aplicación se encuentre en el directorio raíz_servidor_aplicaciones/installedApps.
- Ejecute el mandato $AdminApp list y compruebe que la
aplicación no esté incluida entre las que se muestran.
- En el directorio bin, ejecute el mandato "wsadmin.bat" o wsadmin.sh.
- En el indicador de wsadmin, escriba $AdminApp list y compruebe que la aplicación que da problemas no esté incluida en los elementos de la lista.
- Vuelva a instalar la aplicación utilizando la herramienta wsadmin. Ejecute el mandato $AdminConfig en la herramienta wsadmin antes de salir.
No se puede procesar una aplicación desplegada.
Si no puede guardar una aplicación desplegada, es posible que el problema sea debido a que hay demasiados archivos abiertos y se ha superado el límite del sistema operativo.
![[Linux]](../images/linux.gif)
ulimit -n número_de_archivos
Sólo root tiene autorización para ajustar el número máximo de archivos de cada proceso. Efectúe los pasos siguientes para modificar la aplicación para cerrar archivos con disciplinas.
- Después de abrir un archivo y completar el trabajo, llame al método close del archivo para volver a liberar el manejador de archivos en el sistema operativo.
- Utilizando las clases java.io.FileInputStream y FileOutputStream como ejemplos, puede invocar su método close para liberar recursos del sistema asociados con la corriente de datos.
![[Windows]](../images/windows.gif)
java.lang.RuntimeException: java.lang.RuntimeException: Error Failed_saving_bytes_to_wor_ERROR_ en la herramienta de ensamblaje, en la consola administrativa o en la herramienta wsadmin
Si ve este error cuando cuando intenta generar el código desplegado en una herramienta de ensamblaje, instalar una aplicación o módulo en la consola administrativa o utilizar la herramienta wsadmin para instalar una aplicación o módulo, es posible que supere la longitud de la vía de acceso de archivo del archivo del sistema temporal.
Para comprobar este problema, consulte las variables de entorno TEMP y TMP del sistema. Las variables de entorno largas aumentan la longitud de la vía de acceso de los nombres de archivos a los que accede la herramienta de despliegue EJB.
- Detenga todos los procesos de WebSphere Application Server y cierre todos los indicadores de DOS.
- Establezca las variables de entorno TEMP y TMP de modo abreviado, por ejemplo C:\TMP y C:\TEMP.
- Reinstale la aplicación.
Recibo el error WASX7015E al ejecutar el mandato wsadmin $AdminApp installInteractive o $AdminApp install
Este problema puede deberse a dos cosas:
- Si el texto completo del error es similar a:El nombre del archivo y la vía de acceso no se han especificado correctamente. En este caso, dado que la vía de acceso incluye espacios, el programa wsadmin ha interpretado como varios parámetros.
WASX7015E: Excepción al ejecutar el mandato: "$AdminApp installInteractive C:/Documents and Settings/ myUserName/Desktop/MyApp/myapp.ear"; información de excepción: com.ibm.bsf.BSFException: error al evaluar la expresión Jacl: no se encuentra el método "installInteractive" con 3 argumento(s) para la clase "com.ibm.ws.scripting.AdminAppClient"
WASX7015E: Excepción al ejecutar el mandato: "$AdminApp installInteractive Documents and Settings/ myUserName/Desktop/MyApp/myapp.ear"; exception information: com.ibm.bsf.BSFException: error al evaluar la expresión Jacl: no se encuentra el método "installInteractive" con 3 argumento(s) para la clase "com.ibm.ws.scripting.AdminAppClient"
Escriba la vía de acceso del archivo .ear correctamente. En este caso, debe encerrarla entre comillas:
$AdminApp installInteractive "C:\Documents and Settings\myUserName\Desktop\MyApps\myapp.ear"
$AdminApp installInteractive "Documents and Settings/myUserName/Desktop/MyApps/myapp.ear"
- Si el texto completo del error es similar a:Se ha especificado incorrectamente la vía de acceso de la aplicación. En este caso, debe utilizar para la vía de acceso los separadores de barra inclinada (/).
WASX7015E: Excepción al ejecutar el mandato: "$AdminApp installInteractive c:\MyApps\myapp.ear "; información de la excepción: com.ibm.ws.scripting.ScriptingException: WASX7115E: No se puede leer el archivo de entrada "c:\WebSphere\AppServer\bin\MyAppsmyapp.ear"
WASX7015E: Excepción al ejecutar el mandato: "$AdminApp installInteractive MyApps\myapp.ear "; información de la excepción: com.ibm.ws.scripting.ScriptingException: WASX7115E: No se puede leer el archivo de entrada "WebSphere\AppServer\bin\MyAppsmyapp.ear"
No puede instalar un bean de entidad CMP o BMP en un módulo EJB 3.0
Cuando instala un módulo EJB 3.0 que contiene un bean de entidad de persistencia gestionada por contenedor (CMP) o persistencia gestionada por bean (BMP), la instalación falla.
El producto no soporta la instalación de aplicaciones que tengan un bean de entidad CMP o BMP empaquetado en un módulo EJB 3.0. Debe empaquetar los beans de entidad CMP o BMP en un módulo EJB 2.1 o anterior.
- Debe empaquetar los beans de entidad CMP o BMP en módulos EJB 2.1 o anteriores.
- Intente instalar la aplicación con los módulos EJB 2.1 o anteriores.
El Lenguaje de definición de datos (DDL) generado por una herramienta de ensamblaje genera un error SQL en la plataforma de destino
- Examine las sentencias DDL para ver si hay dependencias de ID de usuario y contraseña específicos y corríjalas según sea necesario.
- Examine las sentencias DDL para ver si hay dependencias de nombres de servidor específicos y corríjalas según sea necesario.
- Consulte las referencias de mensajes del proveedor para encontrar las causas y las acciones recomendadas en relación con errores SQL específicos. Para IBM DB2, puede ver las referencias de mensajes en línea.
SQL0104N Se ha
encontrado un símbolo "CREATE TABLE AGENT (COMM DOUBLE, PERCENT
DOUBLE, P"
imprevisto después de " ". Los símbolos esperados pueden incluir: " ".
SQLSTATE=42601
Edite el archivo DDL en el editor vi, suprimiendo el carácter Ctl-M al principio de cada línea.
Vuelva a generar el código de despliegue para el archivo EAR de la aplicación de una plataforma Linux.
Utilice EDTF para editar el archivo.
ADMA0004E: Ha fallado la validación
AppDeploymentException: [ADMA0014E: Error de validación.
ADMA0004E: Error de validación en la tarea al especificar el origen de datos predeterminado para
módulos JBB. No se ha
especificado el nombre JNDI para el módulo beannameBean Jar con
el URI nombre_archivo.jar,META-INF/ejb-jar.xml.
No ha especificado el
origen de datos para cada bean de CMP perteneciente a este módulo. Especifique uno de los datos que se indican a continuación:
el origen de cada bean CMP o
especifique el origen de datos por omisión para todo el módulo.
Una causa posible de este error es que en WebSphere Application Server versión 4.0 era obligatorio definir en cada JAR un origen de datos para cada bean de CMP. En la versión 5.0 y releases posteriores se puede especificar en el archivo JAR un origen de datos para un bean de persistencia gestionada por contenedor (CMP) o un origen de datos por
omisión para todos los beans de CMP. De este modo, durante la interacción del
proceso de instalación, por ejemplo, con el asistente para la instalación de la
consola administrativa, los campos del origen de datos son opcionales, pero la
validación que se realiza al final del proceso de instalación comprueba si como
mínimo se ha especificado un origen de datos.Para corregir este problema, vuelva a realizar los pasos de la instalación y especifique un origen de datos por omisión o un origen de datos para cada enterprise bean de CMP.
Si utiliza la herramienta wsadmin, utilice el mandato $AdminApp installInteractive nombre_archivo para recibir solicitudes de orígenes de datos durante el proceso de instalación o para proporcionarlos en un archivo de respuestas.
Especifique los orígenes de datos como
una opción en el mandato $AdminApp install.
Para obtener información detallada acerca de la sintaxis, consulte Instalación de aplicaciones empresariales mediante scripts wsadmin.
No se puede cargar el recurso WEB-INF/ibm-web-bnd.xmi en el archivo archivador.
La aplicación web tmp.war se instala en WebSphere Application Server versiones 5.0 y 5.1, pero falla en el servidor WebSphere Application Server versión 6.0 o posterior. La instalación de la aplicación falla debido a que el archivo WEB-INF/ibm-web-bnd.xmi contiene códigos xmi que el modelo WCCM subyacente ya no reconoce.
Se muestran los siguientes mensajes de error:
IWAE0007E No se ha podido cargar el recurso "WEB-INF/ibm-web-bnd.xmi" en el archivo "tmp.war"
[2/24/05 14:53:10:297 CST] 000000bc SystemErr R
AppDeploymentException:
com.ibm.etools.j2ee.commonarchivecore.exception.ResourceLoadException:
IWAE0007E No se ha podido cargar el recurso "WEB-INF/ibm-web-bnd.xmi" en el archivo "tmp.war"
[2/24/05 14:53:10:297 CST] 000000bc SystemErr R
com.ibm.etools.j2ee.commonarchivecore.exception.ResourceLoadException:
IWAE0007E No se ha podido cargar el recurso "WEB-INF/ibm-web-bnd.xmi" en el archivo "tmp.war"
!Stack_trace_of_nested_exce!
com.ibm.etools.j2ee.exception.WrappedRuntimeException: Se ha producido una excepción al cargar
WEB-INF/ibm-web-bnd.xmi
!Stack_trace_of_nested_exce!
Para solucionar este problema, suprima el código xmi:type=EJBLocalRef del archivo ibm-web-bnd.xmi. Suprimir este código no afecta a la aplicación porque el código se ha utilizado anteriormente la coincidencia entre tipos de referencias de documentos. Ahora la aplicación funciona para WebSphere Application Server versión 5.1, 6.0 y releases posteriores.

No obstante, puede existir un módulo de Java EE 5 o posterior dentro de una aplicación que incluya archivos previos a Java EE 5 y que utilice la extensión de nombre de archivo .xmi.
Los archivos ibm-webservices-ext.xmi, ibm-webservices-bnd.xmi, ibm-webservicesclient-bnd.xmi, ibm-webservicesclient-ext.xmi, y ibm-portlet-ext.xmi siguen utilizando la extensión de archivo .xmi.
sptcfgNo se ha especificado un destino válido en ObjectName unObjeto para el módulo nombre_módulo desde la instalación
Este error puede producirse en un entorno de clúster si la célula, el nodo, el servidor o el clúster de destino en el que va a instalarse la aplicación se ha especificado incorrectamente. Por ejemplo, puede producirse si el destino se ha escrito incorrectamente.
Para corregir este problema, compruebe los nombres de los destinos con la topología real de WebSphere Application Server y vuelva a especificarlos correctamente.
La opción addNode -includeapps aparentemente no carga todas las aplicaciones en el gestor de despliegue.
Este error puede producirse cuando algunas o todas las aplicaciones del nodo de destino ya se han cargado en el gestor de despliegue. El programa addNode detecta qué aplicaciones están ya instaladas y no vuelve a cargarlas.
Utilice la consola administrativa para navegar por la configuración del gestor de despliegue y compruebe qué aplicaciones se han instalado ya.
Se muestra un error de "tiempo de espera excedido" al intentar instalar una aplicación empresarial en la consola administrativa
Este error puede producirse si intenta instalar una aplicación de empresa que no se ha desplegado.
- Abra el archivo nombre_archivo.ear en una herramienta de despliegue y pulse Desplegar. Esta acción crea un archivo con un nombre similar a Nombre_archivodesplegado.ear.
- En la consola administrativa, instale el archivo EAR desplegado.
NameNotFoundException al desplegar una aplicación que contenga un módulo EJB
Si especifica que el despliegue de EJB se ejecute durante la instalación de la aplicación y la instalación falla con un mensaje NameNotFoundException, asegúrese de que el archivo JAR o EAR de entrada no contenga archivos de origen. Si hay archivos de origen en el archivo JAR o EAR de entrada, las herramientas de despliegue de EJB ejecutan una reconstrucción antes de generar el código de despliegue.
Para evitar este problema, elimine los archivos de origen o incluya todos los archivos de recursos y clases dependientes en la classpath. De lo contrario, es posible que los archivos de origen o la imposibilidad de acceso a los archivos de recursos y clases pueda ocasionar problemas durante la reconstrucción de la aplicación en el servidor.
![[Windows]](../images/windows.gif)
Durante la instalación de la aplicación, la llamada a EJB Deploy genera una excepción
Si especifica que se debe ejecutar la herramienta de despliegue EJB durante la instalación de la aplicación y la instalación falla debido al error de línea de mandatos demasiado larga, el problema se debe a que el mandato de despliegue generado durante la instalación sobrepasa el límite de caracteres de una línea de mandatos en la plataforma Windows.
Para solucionar este problema, puede reducir la longitud del nombre del archivo EAR, reducir la longitud del nombre del archivo JAR que se encuentra en el archivo EAR, reducir la classpath y otras opciones especificadas para el despliegue, o cambiar la ubicación de %TEMP% en el sistema Windows para que la vía de acceso sea más corta.
Errores de compilación y un error de despliegue de EJB al instalar un archivo JAR de EJB generado por la Versión 5.x o anteriores
Al instalar una aplicación antigua que utilice los módulos EJB que se han construido para ejecutarse en WebSphere Application Server Versión 5.x o anteriores, se producen errores de compilación y se produce un error de EJB Deploy. El archivo JAR de EJB contiene el origen Java para el código antiguo generado. El origen Java antiguo se generó para la Versión 5.x o anterior pero, al desplegarse en un producto WebSphere Application Server Versión 6.x o posterior, se compilará mediante los archivos JAR del tiempo de ejecución de la Versión 6.0.
Para solucionar este problema, elimine todos los archivos .java del archivo EAR de la aplicación. Después de eliminar los archivos de origen Java, puede desplegar la aplicación en un servidor correctamente.
Cuando se cargan documentos, addNode -includeapps falla con una excepción OutOfMemoryError
- Si utiliza addNode para añadir un nodo del servidor básico,
modifique el script addNode para que incluya el siguiente
parámetro:
-Xmxsize
- Si añade un nodo desde la consola
administrativa, aumente maximumHeapSize en los valores de la
máquina virtual Java del gestor de despliegue y reinicie el gestor de despliegue.
Consulte addNode (mandato) y Valores de la máquina virtual Java para obtener más detalles.
![[Windows]](../images/windows.gif)
"%JAVA_HOME%\bin\java" -Xmx512m %DEBUG% %WAS_TRACE% %CONSOLE_ENCODING%
"%CLIENTSOAP%" "%CLIENTSAS%" "-classpath" "%WAS_CLASSPATH%"
"-Dws.ext.dirs=%WAS_EXT_DIRS%" %USER_INSTALL_PROP%
-Dwas.install.root=%WAS_HOME%" "com.ibm.ws.bootstrap.WSLauncher"
"com.ibm.ws.management.tools.NodeFederationUtility" "%CONFIG_ROOT%" "%WAS_CELL%"
"%WAS_NODE%" %*
OutOfMemory en el gestor de despliegue
Si recibe una excepción OutOfMemory cuando intenta instalar aplicaciones con archivos EAR de gran tamaño, intente aumentar el tamaño de almacenamiento dinámico máximo del gestor de despliegue.
Compruebe las opciones especificadas en la página de la máquina virtual Java de la consola administrativa. Aumente maximumHeapSize en los valores de la máquina virtual Java del gestor de despliegue. A continuación, reinicie el gestor de despliegue e intente instalar la aplicación de nuevo.
Después de instalar la aplicación en una máquina diferente, la aplicación no se ejecuta.
Si la aplicación utiliza los recursos de nivel de aplicación, su información del nodo de nivel de aplicación debe ser correcta para que la aplicación se ejecuta como tiene previsto.
Cuando añada recursos de nivel de aplicación a una aplicación y despliegue la aplicación en una máquina, asegúrese de que la información del nodo de nivel de aplicación sea correcta. De lo contrario, cuando instale la aplicación en una máquina diferente, se instalará en la ubicación equivocada y la aplicación no se ejecutará como está previsto.
Puede actualizar la información del nodo de nivel de aplicación utilizando una herramienta de ensamblaje. Actualice nodeName desde deploymentTargets del archivo deployment.xml debajo de ibmconfig. Asimismo, asegúrese de que binariesURL de deployedObject del archivo deployment.xml tiene la vía de acceso correcta.
Un archivo individual sustituye todos los archivos de aplicaciones durante la actualización de la aplicación.
Si selecciona la opción Sustituir o añadir un archivo individual del asistente de actualización de aplicaciones y la aplicación desplegada actualmente consta de varios archivos, especifique el nombre de vía de acceso completo del archivo que se va a sustituir o añadir en Especificar la vía de acceso empezando por el archivador de aplicación instalado en el archivo que se va a sustituir o añadir.
Un nombre de vía de acceso completo tiene la estructura vía_acceso_directorio/nombre_archivo se asemeja a la siguiente:
PriceChangeSession.jar/priceChangeSession/priceChangeSessionBean.class
No especifique menos que el nombre de vía de acceso completo en Especificar la vía de acceso empezando por el archivador de aplicación instalado en el archivo que se va a sustituir o añadir. Por ejemplo, no especifique únicamente la vía de acceso del directorio:
PriceChangeSession.jar/priceChangeSession
Si especifica menos que un nombre de vía de acceso completo, todos los archivos del directorio de la aplicación desplegada actualmente se debe sustituir por un solo archivo nuevo que se ha especificado bajo Especifique la vía de acceso al archivo.