Notas de la versión de Sun Java System Application Server 9.1

Capítulo 3 Limitaciones y problemas conocidos

Esta capítulo describe los problemas conocidos y las correspondientes soluciones temporales del software Sun Java System Application Server 9.1. Si no se especifica una plataforma concreta para un problema, significa que éste se aplica a todas las plataformas. Esta información está organizada en las siguientes secciones:

Administración

Este apartado describe problemas conocidos relacionados con la administración, junto con las soluciones pertinentes.

La secuencia de comandos package-appclient no funciona si domain1 no está presente (6171458)

Descripción

De forma predeterminada, hay un valor codificado en $INSTALL/lib/package-appclient.xml para la variable AS_ACC_CONFIG de domain1 a la que señala asenv.conf. Si domain1 se elimina y se crea un nuevo dominio, la variable AS_ACC_CONFIG no se actualiza con el nombre del dominio nuevo, lo que provoca que falle la secuencia de comandos package-appclient.

Solución

Lleve a cabo una de las siguientes acciones:

  1. Deje intacto domain1 y cree los demás dominios en torno a él.

  2. Elimine domain1 y sustituya el valor codificado de domain1 en $INSTALL/lib/package-appclient.xml con el nuevo nombre de dominio.

Deberá llevar a cabo este procedimiento cada vez que cree un dominio nuevo si domain1 no está presente.

No es posible restaurar la copia de seguridad del dominio con otro nombre (6196993)

Descripción

No es posible duplicar un dominio en la misma instalación de Application Server utilizando los comandos backup-domain y restore-domain porque el dominio no puede restaurarse con un nombre distinto del original, aunque el comando asadmin restore-domain ofrezca la opción de cambiar el nombre del dominio. Parece que el cambio de nombre del dominio del que se ha hecho una copia de seguridad es correcto, pero al intentar iniciar el dominio en cuestión se producen errores porque las entradas de la configuración del dominio no se han cambiado, startserv y stopserv usan el nombre del dominio original para definir las rutas.

Solución

El nombre de dominio utilizado para restore-domain debe ser el mismo que se usó para el comando original backup-domain. Los comandos backup-domain y restore-domain sólo funcionan en Application Server 8.1 para hacer copias de seguridad y restaurar el mismo dominio en la misma máquina.

No es posible iniciar Application Server con JMX Agent adicional (6200011)

Descripción

J2SE 1.4.x, 5.0 y las versiones posteriores se pueden configurar en Application Server. Una función integral de la plataforma J2SE 5.0 es la capacidad para iniciar un agente JMX. Esta función se activa definiendo explícitamente propiedades de sistema al iniciar el servidor.

Entre los valores de ejemplo se incluyen:


name="com.sun.management.jmxremote" value="true"
name="com.sun.management.jmxremote.port" value="9999"
name="com.sun.management.jmxremote.authenticate" value="false"
name="com.sun.management.jmxremote.ssl" value="false"

Después de configurar las propiedades JMX e iniciar el servidor, un nuevo servidor jmx-connector se inicia en la máquina virtual de Application Server. Un efecto colateral no deseable es que las funciones de administración se ven afectadas negativamente y la consola de administración de Application Server y la interfaz de línea de comandos pueden generar resultados inesperados. El problema es que hay algunos conflictos entre la construcción en jmx-connector y el nuevo servidor de jmx-connector.

Solución

Si utiliza jconsole (o cualquier otro cliente compatible con JMX), puede reutilizar el servidor estándar JMX Connector Server que se ejecuta al iniciar Application Server.

Al iniciar el servidor, se muestra una línea parecida a la que aparece más abajo en el registro del servidor. Puede conectarse a la dirección URL de JMXService especificada ahí y realizar las mismas operaciones de configuración y administración después de que se proporcionen correctamente las credenciales, por ejemplo:


[#|2004-11-24T17:49:08.203-0800|INFO|sun-appserver-ee8.1|
javax.enterprise.system.tools.admin|_ThreadID=10;|ADM1501: 
Here is the JMXServiceURL for the JMXConnectorServer: 
[service:jmx:rmi:///jndi/rmi://hostname:8686/management/
rmi-jmx-connector]. This is where the remote administrative 
clients should connect using the JSR 160 JMX Connectors.|#]

Para más información, consulte la Sun Java System Application Server 9.1 Administration Guide.

En UNIX, los permisos de ejecución excesivamente restrictivos en Application Server inician y detienen las secuencias de comando (6206176)

Descripción

Si ejecuta el comando asadmin restore-domain cuando haya iniciado una sesión como usuario "A", las secuencias de comandos se finalizarán con permisos 744 (rwxr--r-- ). Si, posteriormente, intenta iniciar o detener un dominio utilizando el usuario "B" (incluso aunque "B" sea root), se producirá un error, ya que las secuencias de comandos sólo podrán ser ejecutadas por el usuario "A".

Solución

Cambie los permisos de las secuencias de comandos:


chmod 755 appserv/domains/domain-name/bin/*

El archivo de configuración del equilibrador de la carga no se crea con la URL de punto final de ningún servicio web (6236544, 6275436)

Descripción

Al configurar el equilibrador de carga con una aplicación que tenga un módulo EJB que exporte una URL de servicio web, la raíz del contexto para el nuevo servicio web no se encuentra en el archivo loadbalancer.xml resultante.

Solución

  1. Edite el archivo loadbalancer.xml para agregar los módulos web que falten de la siguiente forma:


    <web-module context-root="context-root-name"
    disable-timeout-in-minutes="30" enabled="true"/>
  2. Sustituya el valor de context-root-name con el nombre root del contexto del servicio web que se expuso como EJB.

Al reiniciar Application Server con sun-appserv-admin se produce un error de LoginException (6288893)

Solución

  1. Cambie el nombre de la secuencia de comandos <as_install> /bin/asant existente por asant.bak.

  2. Copie el archivo asant.template ubicado en <as_install> /lib/install/templates/ee (para la versión SE/EE version) en el directorio <as_install>/bin/ y cambie el nombre del archivo asant.

  3. Edite la secuencia de comandos <as_install> /bin/asant que acaba de copiar sustituyendo el token %CONFIG_HOME% por <as_install>/config.

  4. Si se ha efectuado algún cambio manual en el archivo asant.bak original, combínelo con la nueva secuencia de comandos asant.

El archivo .asadmintruststore no está descrito en la documentación de Application Server (6315957)

Descripción

El archivo .asadmintruststore no se describe en la documentación de Application Server. Si el archivo no se encuentra en el directorio home del administrador del servidor, es posible que se produzcan errores graves al actualizar determinadas aplicaciones alojadas en el servidor.

Solución

Las instancias con clúster no se inician debido al tiempo de espera existente al acceder al agente de JMS (6523663)

Descripción

El modo de integración predeterminado de MQ para una Application Server instancia de clúster es LOCAL. Cuando se instala Application Server en una ubicación (PATH) larga (es decir "not short"), imqbrokerscv.exe se bloquea al iniciarse la instancia del clúster. El problema reside en la asignación de memoria de imqbrokersvc.

Solución

El tipo de servicio de JMS para la instancia del clúster debe cambiarse del predeterminado LOCAL a REMOTE. En esta configuración, todas las instancias apuntan al agente DAS. Siga las instrucciones de más abajo para configurar un clúster en el modo REMOTE.


Nota –

Al utilizar el modo REMOTE, todas las instancias usan un agente (DAS) y por ello, no se crea ningún clúster de agente cuando se inicia el clúster de Application Server. Para más información, consulte "Auto-clustering" en la Sección 4.1, División iii del archivo de una página: http://www.glassfishwiki.org/gfwiki/attach/OnePagersOrFunctionalSpecs/as-mq-integration-gfv2.txt. Las funciones antes mencionadas no estarán disponibles


ProcedureUtilización de la línea de comandos

Antes de empezar

Modifique el puerto y el archivo de la contraseña según su entorno. Tenga en cuenta que en las instrucciones de abajo, el nombre del clúster es racluster, el puerto de administración DAS es 5858, y el puerto JMS de DAS es 7676 .

  1. Cambie el tipo de JMS a REMOTE para modificar la configuración del clúster.


    $AS91_HOME/bin/asadmin.bat set --port 5858 --user admin --passwordfile \
    $AS91_HOME/bin/password_file racluster.jms-service.type=REMOTE
  2. Cree un host JMS que corresponda con el host JMS de DAS.


    $AS91_HOME/bin/asadmin.bat create-jms-host --port 5858 --user admin --passwordfile \
    $AS91_HOME/bin/password_file --target racluster --mqhost localhost --mqport 7676 \
    --mquser admin --mqpassword admin dashost
  3. Cambie el host JMS predeterminado al host DAS JMS que creó en el paso anterior.


    $AS91_HOME/bin/asadmin.bat set --port 5858 --user admin --passwordfile \
    $AS91_HOME/bin/password_file racluster.jms-service.default-jms-host=dashost

ProcedureUtilización de la Interfaz de usuario de administración (Admin GUI)

  1. Vaya a Configuraciones->nombre_de_clúster-config->Java Message Service->JMS Hosts.

  2. Haga clic en Nuevo para crear un host JMS nuevo y asígnele el nombre dashost.

  3. Introduzca los ajustes de configuración correspondientes al servicio de JMS para el DAS; los valores predeterminados son los siguientes:

    • Nombre del sistema: localhost

    • Puerto: 7676

    • Usuario admin.: admin

    • Contraseña: admin

    Modifique estos ajustes del servicio DAS JMS de la forma apropiada.

  4. Regrese hasta la ficha Java Message Service y cambie el tipo de servicio JMS a REMOTE (el predeterminado es LOCAL).

  5. Elija dashost de la lista desplegable default-jms-host .

  6. Guarde los cambios e inicie después el agente de nodo o el clúster.

No puede mostrarse el gráfico jmaki en los navegadores Netscape 8.1.3, Mozilla 1.7 y Safari 2.0.4 (6543014)

Descripción

Al intentar mostrar un gráfico de la página "Control de las estadísticas de registro" con navegadores no admitidos, puede producirse el siguiente error:


Error loading jmaki.widgets.jmaki.charting.line.Widget : id=form1:jmaki_chart11
Script: http://easqelx5.red.iplanet.com:4848/resources/jmaki/charting/ \
line/component.js (line:5437).
Message: area.initialize is not a function

Solución

Utilice alguno de los navegadores admitidos. Consulte Exploradores para ver una lista de los navegadores admitidos por Application Server 9.1.

Se producen cambios en los puertos predeterminados con cada versión importante de AS (6566481)

Descripción

El puerto administrativo predeterminado ha cambiado en las principales tres versiones anteriores de Application Server. En concreto, los puertos administrativos predeterminados en 7.x, 8. x y 9.x son los siguientes:

Solución

No se trata de un fallo, pero es necesario tenerlo en cuenta. El puerto administrativo predeterminado sólo es una recomendación. Se prevé que las futuras versiones de Application Server conservarán el puerto 4848.

Apache y el complemento del equilibrador de carga

En este apartado se describen los problemas conocidos relacionados con el complemento del equilibrador de carga y Apache Web Server, y las soluciones pertinentes.

La Guía de administración de la alta disponibilidad contiene instrucciones incorrectas sobre cómo utilizar openssl con Apache (6306784)

Cuando compile y cree openssl, ejecute los siguientes comandos:

cd openssl-0.9.7e

config

make

Además, para Apache 1.3, el nombre del directorio del origen mod_ssl variará en función de la versión de Apache que se use. Por ejemplo, para Apache 1.3.33, el nombre es mod_ssl-2.8.22-1.3.33.

La Guía de administración de la alta disponibilidad no contiene instrucciones sobre cómo utilizar un certificado para Apache 2.0 (6307976)

Para ejecutar la seguridad de Apache, debe usar un certificado. Para conocer cómo se obtiene un certificado de una entidad emisora de certificados, consulte la información sobre los certificados que figura en modssl FAQ.

Es necesario iniciar Apache Web Server como raíz (6308021)

En Solaris, si Application Server se instaló como root, deberá usar Apache Web Server también como root. Las instalaciones de Java Enterprise System se realizan como root. En Apache 2.0, después de iniciarse como root, Apache cambia y se ejecuta como el usuario que se especifique. Especifique ese usuario en el archivo /conf/httpd.conf. Para realizar un inicio como root en varios sistemas, debe editar el archivo httpd.conf para especificar el grupo correcto. Sustituya la línea:

Group #-1

por

Group nobody

Encontrará más información sobre el uso de user/group en el archivo httpd.conf.

Cliente de la aplicación

Este apartado describe problemas conocidos relacionados con los clientes de la aplicación, junto con las soluciones pertinentes.

El JAR de biblioteca empaquetado en el Archivo de Application Client sobrescribe el archivo MANIFEST (6193556)

Descripción

Si cuenta con un archivo JAR de nivel superior en el cliente JAR (en este caso, reporter.jar), cuando implemente el cliente JAR, el archivo MANIFEST para dicho JAR sobrescribirá el archivo MANIFEST para el cliente JAR.

Solución

Ninguna por ahora.

ACC siempre intenta conectar con localhost:3700 (6527987)

Descripción

El cliente de la aplicación siempre intenta conectar con localhost:3700. El problema es que es necesario leer varias propiedades del sistema antes de que pueda invocarse el código del cliente.

Solución

Cambie las siguientes propiedades del sistema (-Den su JAVA_CMD). Pero no lo haga en su código de appclient:


org.omg.CORBA.ORBInitialHost = server_instance_host
org.omg.CORBA.ORBInitialPort = server_instance_port

No es posible iniciar el dominio, falta sunpkcs11.jar (6571044)

Descripción

Al ejecutarse en Linux de 64–bits, se produce la siguiente excepción al iniciar el dominio. El problema es que falta sunpkcs11.jar en jdk1.5.0_11/jre/lib/ext/.

Solución

Se sabe que se trata de un error de JDK con Linux de 64–bits, pero que se solucionará en JDK 1.5.0_13.

ASQuickStartup interrumpe SocketChannel.keyFor(), devolviendo un valor nulo en lugar de SelectionKey (Issue Tracker 3027)

Descripción

Cuando un SocketChannel se registra en varios selectores, haciendo socketChannel.keyFor(lastRegisteredSelector) devuelve un valor nulo en lugar de SelectionKey.

Solución

Esto está relacionado con el error de JDK 6562829, y se espera esté solucionado en la versión 6.0 U3. Se ha incluido una solución temporal en Application Server 9.1, que desenvuelve el selector antes de que se invoque el API keyFor. Gracias a esta solución, keyFor podrá hacer su trabajo hasta que se solucione el error de JDK.

Controladores JDBC de Sun integrados

Este apartado describe problemas conocidos relacionados con los controladores JDBC de Sun, junto con las soluciones pertinentes.

Errores de PreparedStatement (6170432)

Descripción 1

Si una aplicación genera más de 3000 objetos PreparedStatement en una transacción, puede producirse el siguiente error en DB2:

[sunm][DB2 JDBC Driver] No more available statements.. Please recreate your package with a larger dynamicSections value.

Solución 1

Agregue las siguientes propiedades a la definición del conjunto de conexiones para que el controlador vuelva a vincular los paquetes DB2 con un valor mayor de secciones dinámicas:

createDefaultPackage=true replacePackage=true dynamicSections=1000

Consulte la Sun Java System Application Server 9.1 Administration Guide para obtener más detalles sobre cómo configurar los conjuntos de conexiones.

Descripción 2

En relación con el error de PrepardStatement mencionado anteriormente, otro mensaje de error que se puede mostrar es:

[sunm][DB2 JDBC Driver][DB2]Virtual storage or database resource is not available.

Solución 2

Aumente el parámetro de configuración APPLHEAPSZ del servidor DB2 Un valor adecuado es 4096.

Descripción 3

Nivel de aislamiento TRANSACTION_SERIALIZABLE. Si una aplicación utiliza un nivel de aislamiento TRANSACTION_SERIALIZABLE y emplea uno de los parámetros sugeridos anteriormente, es posible que se bloquee cuando intente obtener la conexión.

Solución 3

Para definir el nivel deseado de aislamiento para una conexión, el conjunto de conexiones correspondiente debe crearse en el mismo nivel de aislamiento. Consulte la Sun Java System Application Server 9.1 Administration Guide para ver las instrucciones.

Java DB no se inicia después del reinicio de la máquina o cuando se abre Application Server (6515124)

Descripción

La base de datos incluida en Java DB no se reinicia automáticamente después del reinicio de un host o de la zona de Solaris, o del inicio de Application Server. Esto no es realmente un fallo, es el comportamiento que se espera de las aplicaciones "incluidas" (bundled)o de otro fabricante. El problema es que Java DB debe iniciarse antes que la instancia de Application Server.

Solución

Después de reiniciar la máquina del host o la zona Solaris, asegúrese de iniciar Java DB antes de iniciar Application Server; por ejemplo:


/opt/SUNWappserver/appserver/bin/asadmin start-database

Consulte "Herramientas de Application Server Administration" en la "Guía de inicio rápido de Sun Java System Application Server 9.1 en la "Guía de inicio rápido de Sun Java System Application Server 9.1" para conseguir más información sobre las opciones del comando asadmin.

Documentación

Este apartado describe problemas conocidos relacionados con la documentación, junto con las soluciones pertinentes.

Incoherencias en Javadoc (varios ID)

Falta Javadoc o es incorrecto para varios métodos e interfaces AMX:

El ANT incluido produce el error java.lang.NoClassDefFoundError (6265624)

Descripción

La siguiente excepción se desencadena en un subproceso "principal" java.lang.NoClassDefFoundError: org/apache/tools/ant/launch/Launcher.

Solución

No se recomienda el uso del ANT integrado para cuestiones externas a Application Server.

Alta disponibilidad

En este apartado se describen los problemas conocidos relacionados con la base de datos de alta disponibilidad (HADB) y las soluciones asociadas.

Configuración HADB con redes dobles (sin ID)

La configuración de HADB con redes dobles en dos subredes funciona correctamente en Solaris SPARC. Sin embargo, debido a problemas en el sistema operativo o a los controladores de red en algunas plataformas de hardware, se ha observado que las plataformas Linux y Solaris x86 no siempre gestionan correctamente las redes dobles. Esto provoca los siguientes problemas con HADB:

Falla la creación de la base de datos HADB (sin ID)

Descripción

La creación de una base de datos nueva puede fallar con el siguiente error, que indica que hay muy pocos segmentos de memoria compartida disponibles:

HADB-E-21054: System resource is unavailable: HADB-S-05512: Attaching shared memory segment with key "xxxxx" failed, OS status=24 OS error message: Too many open files.

Solución

Compruebe que la memoria compartida esté configurada y que la configuración esté funcionando. En concreto, en Solaris 8, consulte el /etc/system, y compruebe que el valor de la variable shmsys:shminfo_shmseg sea, como mínimo, 6 veces el número de nodos por host.

hadbm set no comprueba la disponibilidad de los recursos (el espacio en disco y la memoria) (5091280)

Descripción

Al aumentar el tamaño de la memoria búfer o de los dispositivos usando hadbm set,, el sistema de administración comprueba la disponibilidad de los recursos cuando se crean bases de datos o se agregan nodos, pero no comprueba si hay recursos suficientes cuando se cambia el tamaño de la memoria búfer principal o del dispositivo.

Solución

Compruebe si hay espacio de disco o de memoria suficiente en todos los hosts antes de aumentar los atributos de configuración devicesize o buffersize.

No se admiten rutas heterogéneas para packagepath (5091349)

Descripción

No se puede registrar el mismo paquete de software con el mismo nombre en ubicaciones distintas y en hosts diferentes, por ejemplo:


hadbm registerpackage test --packagepath=/var/install1 --hosts europa11
Package successfully registered.
hadbm registerpackage test --packagepath=/var/install2 --hosts europa12
hadbm:Error 22171: A software package has already been registered with 
the package name test.

Solución

HADB no admite rutas heterogéneas en los nodos de un clúster de base de datos. Asegúrese de que el directorio de instalación de HADB (--packagepath) sea el mismo para todos los hosts.

createdomain puede fallar (6173886, 6253132)

Descripción

Si el agente de administración se está ejecutando en un host con varias interfaces de red, es posible que el comando createdomain presente errores si no están todas las interfaces de red en la misma subred:


hadbm:Error 22020: The management agents could not establish a 
domain, please check that the hosts can communicate with UDP multicast.

Los agentes de administración, a menos que estén configurados de otra forma, usarán la "primera" interfaz para difusiones UDP (se entiende como "primera" interfaz el resultado de java.net.NetworkInterface.getNetworkInterfaces() ).

Solución

La mejor solución es indicarle al agente de administración qué subred debe utilizar (defina ma.server.mainternal.interfaces en el archivo de configuración, por ejemplo, ma.server.mainternal.interfaces=10.11.100.0). Otra opción es configurar el enrutador entre las subredes para que dirija los paquetes de difusión (el agente de administración utiliza la dirección de difusión 228.8.8.8).

Antes de volver a intentarlo con una configuración nueva de los agentes de administración, puede que deba limpiar el repositorio del agente de administración. Detenga todos los agentes del dominio, y elimine todos los archivos y directorios del directorio del repositorio (se identifican mediante repository.dr.path en el archivo de configuración del agente de administración). Esta acción debe realizarse en todos los hosts antes de reiniciar los agentes con un nuevo archivo de configuración.

Pueden producirse fallos o bloqueos al iniciarse, detenerse o reconfigurarse HADB (6230792, 6230415)

Descripción

En Solaris 10 Opteron, el inicio, la detención o la reconfiguración de HADB usando el comando hadbm pueden fallar o generar bloqueos con alguno de los siguientes errores:


hadbm:Error 22009: The command issued had no progress in the last 
300 seconds.
HADB-E-21070: The operation did not complete within the time limit, 
but has not been cancelled and may complete at a later time.

Esto puede suceder si hay incoherencias al leer o escribir en un archivo (nomandevice) que esté utilizando el proceso clu_noman_srv. Este problema se puede detectar buscando los siguientes mensajes en los archivos del historial de HADB:


n:3 NSUP INF 2005-02-11 18:00:33.844 p:731 Child process noman3 733 
does not respond.
n:3 NSUP INF 2005-02-11 18:00:33.844 p:731 Have not heard from it in 
104.537454 sec.
n:3 NSUP INF 2005-02-11 18:00:33.844 p:731 Child process noman3 733 
did not start.

Solución

La siguiente solución no se ha probado, puesto que no se ha reproducido el problema manualmente. Sin embargo, la ejecución de este comando para el nodo afectado debería resolver el problema.


hadbm restartnode --level=clear nodeno dbname

Tenga en cuenta que se reiniciarán todos los dispositivos del nodo. También es posible que haya que detener el nodo antes de reiniciarlo.

El agente de administración termina con la excepción "IPV6_MULTICAST_IF failed" (6232140)

Descripción

Cuando se inicia en un host que ejecuta Solaris 8 con varias tarjetas NIC instaladas, si hay una mezcla de tarjetas con IPv6 e IPv4 habilitados, el agente de administración puede terminar con la excepción "IPV6_MULTICAST_IF failed."."

Solución

Defina la variable de entorno JAVA_OPTIONS en -Djava.net.preferIPv4Stack=true como, por ejemplo:


export JAVA_OPTIONS="-Djava.net.preferIPv4Stack=true"

De lo contrario, use Solaris 9 o una versión posterior que no esté afectada por este problema.

clu_trans_srv no puede interrumpirse (6249685)

Descripción

Hay un error en la versión de 64 bits de Red Hat Enterprise Linux 3.0 que hace que el proceso clu_trans_srv termine en modo sin interrupción cuando se realiza una E/S asíncrona. Esto significa que kill -9 no funciona y el sistema operativo debe reiniciarse.

Solución

Use una versión de 32 bits de Red Hat Enterprise Linux 3.0.

hadbm no admite contraseñas con letras mayúsculas (6262824)

Descripción

Las letras mayúsculas en las contraseñas se convierten en minúsculas cuando la contraseña se almacena en hadb.

Solución

No use contraseñas que contengan letras mayúsculas.

Al pasar de la versión HADB 4.4.2.5 más moderna a la 4.4.1.7 más antigua, se producen distintos códigos de error en ma (6265419)

Descripción

Al retroceder en las versiones, el agente de administración puede fallar con distintos códigos de error.

Solución

Es posible retroceder en la versión de la base de datos de HADB, sin embargo, el agente de administración no podrá retroceder en su versión si se han hecho cambios en los objetos del repositorio. Después de retroceder en la versión, deberá usar el agente de administración de la última versión de HADB.

Instalación y eliminación de la preservación symlink (6271063)

Descripción

Con respecto a la instalación o eliminación del paquete de HADB (Solaris: SUNWhadbc, Linux: sun-hadb-c) versión <m.n.u-p>, el symlink /opt/SUNWhadb/<m> no se modifica una vez creado. En consecuencia, es posible que exista un symlink huérfano.

Solución

Elimine el symlink antes de la instalación o después de la desinstalación, a menos que esté en uso.

Los agentes de administración de las zonas globales y locales pueden interferir (6273681)

Descripción

En Solaris 10, al detener el agente de administración usando la secuencia de comandos ma-initd en una zona global, se detiene también el agente de administración en la zona local.

Solución

No instale el agente de administración en la zona global y la local.

hadbm/ma debería presentar un mensaje de error mejor cuando el objeto de una sesión haya expirado y se haya borrado de MA (6275103)

Descripción

En ocasiones, un problema de contención de recursos en el servidor puede hacer que un cliente de administración se desconecte. Al volverse a conectar, se puede mostrar un mensaje de error algo confuso "hadbm:Error 22184: A password is required to connect to the management agent".

Solución

En ocasiones, un problema de contención de recursos en el servidor puede hacer que un cliente de administración se desconecte. Al volverse a conectar, se puede mostrar un mensaje de error algo confuso "hadbm:Error 22184: A password is required to connect to the management agent".

Compruebe si hay algún problema con los recursos en el servidor, realice las acciones necesarias (por ejemplo, agregue más recursos) y vuelva a intentar la operación.

Los usuarios que no son "root" no pueden administrar HADB (6275319)

Descripción

La instalación de Java Enterprise System (como root) no permite que los usuarios que no sean root administren HADB.

Solución

Inicie sesión siempre como root para poder administrar HADB.

El agente de administración no debería utilizar interfaces de uso especial (6293912)

Descripción

Las interfaces de uso especial con direcciones IP similares a 0.0.0.0 no deberían registrarse como interfaces válidas para los nodos de HADB en el agente de administración. El registro de dichas interfaces podría provocar problemas si los nodos de HADB se configuran en estas interfaces mediante la ejecución del comando hadbm create por parte del usuario con nombres de host en lugar de con direcciones IP. Los nodos no podrán establecer comunicación, lo que provocara el bloqueo del comando create.

Solución

Al utilizar hadbm create en hosts con varias interfaces, especifique siempre explícitamente las direcciones IP con una notación DDN.

Errores de reensamblaje en Windows (6291562)

Descripción

En la plataforma Windows, con determinadas configuraciones y cargas, es posible que se produzca un gran número de errores de reensamblaje en el sistema operativo. Se ha detectado este problema con configuraciones de más de veinte nodos al ejecutar varios análisis de tabla (select *) en paralelo. Entre los síntomas detectados, se incluyen los siguientes: las transacciones se anulan frecuentemente, el proceso de reparación o recuperación tarda mucho tiempo en completarse, y se agota frecuentemente el tiempo de espera en diversas partes del sistema.

Solución

Para solucionar el problema, puede establecer la variable del registro de Windows HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters en un valor superior a 100 (valor predeterminado). Se recomienda que aumente este valor a 0x1000 ( 4096). Para obtener más información, consulte el artículo 811003 en las páginas de asistencia técnica de Microsoft.

No se conserva el estado de la sesión cuando el navegador tiene otra cookie con la ruta / (6553415)

Descripción

Las cookies con una ruta igual a "/" interfieren con las cookies de una aplicación web altamente disponible que esté implementada en una raíz de contexto distinta a "/" y que utilice la replicación en memoria como su tipo de persistencia, lo que impide a la aplicación web altamente disponible conservar cualquier estado de sesión HTTP. Esto suele ocurrir cuando se utiliza el mismo navegador para acceder a la Interfaz Gráfica de Usuario de Admin (que está implementada en "/") y a la aplicación web altamente disponible.

Solución

Acceda a la aplicación web implementada en "/" desde un navegador distinto.

LB no funciona con IIS 6; SASL32.DLL y falta ZLIB.DLL en <appserver-install> /lib (6572184)

Descripción

Los archivos SASL32.DLL y ZLIB.DLL son necesarios para que el equilibrador de la carga funcione con Windows IIS 6. En estos momentos, estos archivos no se encuentran en <appsrver-install> /lib.

Solución

Copiar manualmente los dos archivos DLL en <appserver-install> /lib. También es posible descargar estos archivos de:


http://download.java.net/javaee5/external/<OS>/aslb/jars/aslb-9.1-MS4-b5.jar

Donde <OS> representa la plataforma deseada que puede ser uno de los siguientes valores:

Hay problemas en la creación y el inicio de DAS y en la propagación del paquete HA en la Zona global (6573511)

Descripción

Se producen dos problemas al instalar o desinstalar Application Server con paquetes de alta disponibilidad en una zona global:

  1. Los paquetes de HA se instalan en todas las zonas, algo que puede no ser conveniente.

  2. Al desinstalarlos, los paquetes HA, MQ y JDK se eliminan de todas las zonas, algo que puede no ser conveniente.

Este problema no se produce si la instalación o desinstalación se realiza desde una zona local de raíz.

Solución

Realizar la instalación y la desinstalación desde una zona local de raíz y no desde una zona global.

Las aplicaciones web altamente disponibles de " /" no son capaces de reanudar las sesiones de HTTP replicadas en memoria (Issue Tracker 2972)

Descripción

Las aplicaciones web implementadas en "/" son incapaces de mantener cualquier sesión HTTP cuando utilizan la replicación en memoria como su tipo de persistencia.

Solución

Implementar en una raíz de contexto que no sea "/" aquellas aplicaciones web altamente disponibles que utilicen replicación en memoria como tipo de persistencia. Si desea que esa aplicación web esté disponible en "/", puede designarla como el módulo web predeterminado del servidor virtual en el que se haya implementado esa aplicación web.

El instalador de AS LB no puso la ruta /usr/lib/mps en apachectl LD_LIBRARY_PATH, no puede iniciar Apache SSL (6591878)

Descripción

Durante la instalación del equilibrador de la carga de Application Server para Apache en Solaris, el instalador actualiza LD_LIBRARY_PATH en la secuencia de comandos de apachectl . Sin embargo, el instalador no escribe correctamente la ruta /usr/lib/mps. En Solaris, la instancia de seguridad Apache no se inicia si esta ruta no está en LD_LIBRARY_PATH.

Solución

Este problema sólo se produce en plataformas Solaris. Para solucionar este problema de forma temporal, agregue /opt/SUNWappserver/appserver/lib/lbplugin/lib a su LD_LIBRARY_PATH.

Al activar y desactivar LB para una instancia o un clúster debería mostrarse el estado correcto (6595113)

Descripción

El botón Activar equilibrio de carga siempre está activado en la página general del Clúster o Instancia, con independencia de lo que se guarde en domain.xml.

Solución

AS9.1 EE IFR b58f/JES5 UR1. No es posible instalar Registry Server porque se detecta un HA "incompleto" (6602508)

Descripción

(sólo en Solaris) Después de instalar Application Server 9.1 en SPARC Solaris 10 con HADB, es posible que aparezca el siguiente error tras iniciar Application Server e intentar después instalar JES 5 UR1 con Registry Server:


Error de dependencia: La instalación no puede continuar porque la versión de HA
Session Store 4.4.3 detectada en este host es incompleta y se necesita una versión compatible para la
compatibilidad de implementación de registro del servicio.

Solución

No es posible instalar Registry Server desde JES 5 UR1 con Application Server 9.1 IFR en equipos con Solaris. Es necesario instalar los paquetes de Registry Server manualmente mediante el comando pkgadd del siguiente directorio de distribución JES5 UR:


<path>/<OS>/Products/registry-svr/Packages

Específico del navegador IE 6.0: Al exportar el archivo de configuración del equilibrador de la carga se produce un error (6516068)

Descripción

(sólo en Internet Explorer) Al intentar exportar el archivo de configuración del equilibrador de la carga (loadbalancer.xml) desde Internet Explorer 6, el navegador muestra un mensaje de error informando de que no es posible localizar el archivo DTD sun-loadbalancer_1_2.dtd.

Solución

Para guardar el archivo, utilice la siguiente solución alternativa:

  1. Haga clic en Exportar en la página Equilibrador de la carga de Internet Explorer.

    Se muestra el mensaje "No es posible mostrar la página XML".

  2. Haga clic en el marco del error y después elija Archivo -> Guardar como de Internet Explorer.

  3. Guarde el archivo loadbalancer.xml en el directorio que prefiera.

Instalación

Este apartado describe problemas conocidos relacionados con la instalación, junto con las soluciones pertinentes.

El cierre de la instalación se bloquea en algunos sistemas Linux al pulsar en el botón "Finalizar" (5009728)

Descripción

Se ha observado que este problema se ha producido en varios sistemas Linux. Es más frecuente en Java Desktop System 2, pero también se ha observado en distribuciones Linux Red Hat.

Después de hacer clic en el botón "Finalizar" en la última pantalla, el instalador no consigue iniciar una ventana del explorador que contiene la página con información acerca del producto o la página de registro. El instalador se bloquea completamente y no permite volver a la línea de comandos.

Solución

Salga de instalador pulsando Ctrl+C en la ventana de terminal en la que se inició el instalador. Después de hacer esto, es posible que se muestre una ventana del explorador que contiene información acerca del producto o la pantalla de registro, de lo contrario, inicie el navegador y escriba la siguiente dirección URL para ver la información acerca del producto:


file://install_dir/docs-ee/about.html

Si seleccionó la opción pertinente para registrar el producto, siga el enlace a la página de registro que se mostrará en la página de información sobre el producto.

En Windows, es necesario crear el directorioimq durante la instalación (6199697)

Descripción

En Windows, justo después de instalar Application Server Enterprise Edition, el agente de Message Queue presenta errores durante el inicio y se muestra un mensaje en el que se indica que no existe el directorio drive:\as\domains\domain1\imq.

Tenga en cuenta que si el agente se ejecuta después de iniciar domain1, Application Server creará el directorio y no habrá ningún problema.

Solución

  1. Cree var_home_dir_location antes de crear el agente:


    $imqbrokerd -varhome var_home_dir_location
    

    Por ejemplo:


    $imqbrokerd -varhome D:\as\domains\domain1\imq

Mensaje engañoso al instalar SDK en Windows Vista (6533646)

Descripción

Al instalar el SDK incluido en Windows Vista, puede aparecer el error "Se ha detectado una plataforma de instalación incompatible." Sin embargo, la instalación se realiza correctamente.

Solución

Esto no constituye problema alguno. Application Server se ejecuta sin problemas en Windows Vista y este mensaje de error se eliminará en futuras versiones del producto.

La desinstalación no actualiza el archivo productregistry correctamente; no es posible utilizar el modo silencioso en la instalación (6571598)

Descripción

Si el archivo productregistry de Application Server contiene configuraciones de componentes compartidos, un procedimiento de desinstalación de Application Server no actualizará el archivo productregistry correctamente, por lo que usted no podrá utilizar el modo silencioso en una instalación posterior a menos que cambie el nombre del archivo productregistry o lo elimine. Se dejan intactas las entradas de los componentes compartidos en el archivo productregistry por cuestiones de diseño, pero provoca confusiones con las posteriores instalaciones silenciosas.

Solución

Cuando los archivos de registro de la desinstalación le indiquen que la desinstalación se ha realizado correctamente, elimine el archivo productregistry antes de ejecutar la instalación posterior. Para comprobar que se ha realizado correctamente la desinstalación previa, busque el archivo appserv_uninstall.class en <install_dir>. Este archivo no estará si la desinstalación se realizó correctamente.


Nota –

Si la desinstalación no se realizó correctamente, no borre productregistry.


El archivo productregistry se encuentra en /var/sadm/install en Solaris y en /var/tmp en Linux.

IFR. No pudo instalar AS en la escasa zona local, problema con los paquetes de MQ. (6555578)

Descripción

Al instalar Application Server en una zona local escasa, la instalación falla si no se instala primero Message Queue (MQ). El instalador intenta instalar MQ y después falla la instalación entera.

Solución

Es necesario instalar MQ manualmente en la zona global antes de instalar Application Server en una zona local escasa. Hay dos soluciones alternativas para este problema:

  1. Instalar MQ 4.1 manualmente en la zona global desde el mismo soporte en que se encuentre la instalación IFR de Application Server 9.1 para obtener los paquetes de MQ más recientes.

    1. Utilice el instalador que se corresponda con su plataforma:


      mq4_1-installer-SunOS.zip
      mq4_1-installer-SunOS_X86.zip
      mq4_1-installer-Linux_X86.zip
      mq4_1-installer-WINNT.zip
    2. Descomprima los bits y ejecute el instalador.

      El instalador se encuentra en el directorio mq4_1-installer.

  2. Instale cualquier componente de la instalación IFR en la zona global. Con esta acción se comprueba la versión de MQ en GZ y, si es necesario, se actualizaría a la incluida en Application Server 9.1 IFR. Sólo con seleccionar e instalar el componente de las aplicaciones de muestra se actualiza MQ a la versión IFR.

    1. Ejecute la instalación de Application Server en la zona global, pero seleccione sólo los componentes de muestra.

      La instalación del componente de muestra también instala MQ y los componentes compartidos de Application Server en todas las zonas.

    2. Vuelva a ejecutar la instalación de Application Server, pero esta vez en la zona local escasa.

      La instalación debería realizarse sin problemas.

Es necesario eliminar la petición -console de la instalación IFR: "¿Desea actualizar la aplicación previa?" (6592454)

Descripción

Al ejecutar el instalador IFR de Application Server 9.1 con la opción —console (modo línea de comando), le aparecerá el siguiente mensaje:


¿Desea actualizar la versión previa de Application Server?

Desgraciadamente, el instalador IFR no admite estas actualizaciones, por lo que este mensaje es erróneo. Si responde afirmativamente al mensaje, la instalación continuará normalmente, pero no se indicará que se ha realizado una instalación completa en lugar de una actualización.

Solución

Utilice la herramienta de actualización cuando quiera actualizar su instalación de Application Server.

Tutorial de Java EE

Para ejecutar el Tutorial de Java EE 5 en Sun Java System Application Server 9.1, realice las siguientes tareas:

Fallo de MDB en el ejemplo del tutorial de Java EE (6591307)

Descripción

En el Capítulo 32, Java EE Examples Using the JMS API de The Java EE 5 Tutorial, An Application Example That Consumes Messages from a Remote Server de The Java EE 5 Tutorial," este ejemplo ya no funciona. El MDB no recibe el mensaje. Los otros dos ejemplos que envían mensajes entre los dos sistemas aún funcionan correctamente (Running JMS Client Programs on Multiple Systems de The Java EE 5 Tutorial y An Application Example That Deploys a Message-Driven Bean on Two Servers de The Java EE 5 Tutorial.

Solución

Se solucionarán en una versión posterior de Application Server.

Persistencia Java

TopLink espera que mi campo o propiedad Collection sea clonable (Issue Tracker 556)

Descripción

Si se utiliza el API java.util.Arrays.asList() para convertir un Object[] en Collection, JDK devuelve una implementación de java.util.ArrayList que no es clonable. Esto produce la siguiente excepción:


The method invocation of the method [protected native java.lang.Object 
java.lang.Object.clone() throws java.lang.CloneNotSupportedException] on the object 
[[pkg.A id = xxx]], of class [class java.util.Arrays$ArrayList], triggered an 
exception. Internal Exception: java.lang.reflect.InvocationTargetException Target 
Invocation Exception: java.lang.CloneNotSupportedException: 
java.util.Arrays$ArrayList

Se hace un seguimiento de este problema en https://glassfish.dev.java.net/issues/show_bug.cgi?id=556.

Solución

Crear otra colección utilizando su constructor; por ejemplo:


myCollection = new ArrayList(java.util.Arrays.asList(a))

Gestión del ciclo de vida

En esta sección, se describen problemas conocidos relacionados con la administración del ciclo de vida, junto con las soluciones pertinentes.

Ajustar la propiedad ejb-timer-service hace que falle el comando set (6193449)

Descripción

Tras ajustar la propiedad ejb-timer-service de minimum-delivery-interval a 9000, el intento de establecer la propiedad ejb-timer-service redelivery-interval-in-mills en 7000 provoca que el comando set sufra el siguiente error:


[echo] Doing admin task set
[exec] [Attribute(id=redelivery-interval-internal-in-millis) : 
Redelivery-Interval (7,000) 
should be greater than or equal to Minimum-delivery-interval-
in-millis (9,000)]
[exec] CLI137 Command set failed.

El problema es que la lógica que relaciona la propiedad de intervalo de reentrega con la propiedad de entrega mínima es incorrecta e impide que se utilice la GUI o la CLI para definir valores en los que el intervalo de entrega mínimo sea superior al intervalo de reentrega.

minimum-delivery-interval-in-millis debe ser igual o mayor que la propiedad redelivery-interval-in-millis de ejb-timer-service.. El problema es que se produce una comprobación de validación errónea en Application Server para verificar que el valor de redelivery-interval-in-millis es mayor que el valor de minimum-delivery-interval-in-millis.

Solución

Use los valores predeterminados para estas propiedades, tal y como se indica a continuación:


minimum-delivery-interval(default)=7000
redelivery-interval-in-millis(default)=5000

Si utiliza valores que no sean los predeterminados, se generará un error.

Se genera un error al listar los destinos físicos de JMS en configuraciones no DAS (6532532)

Descripción

Si intenta ver los destinos físicos de JMS con default-config, aparecerá un mensaje de error.

Solución

Este comportamiento es el esperado. En Application Server 9.1, default-config es una plantilla de información de configuración y por ello las operaciones JMS (como list y create) no pueden ejecutarse para el default-config. Sin embargo, estas operaciones sí pueden ejecutarse para las configuraciones de su clúster o instancias independientes.

Sólo Win2003: Pérdida de memoria en conjuntos no paginados, derribo de la pila tcp y prueba de acceso variado (6575349)

Descripción

(sólo Windows 2003) Se producen pérdidas de memoria en los sistemas de Windows 2003 al realizar funciones de acceso variados. Este problema se produce porque el conjunto no paginado de Win32 sigue creciendo y acaba por derribar la pila TCP/IP entera. Una vez producido el fallo, la pila TCP/IP se queda en un estado recuperable; la única manera de restaurarlo es reiniciando el sistema Windows 2003.

Solución

Es un problema de Microsoft (Número de caso: SRX070906600011), para el que existe una revisión. Para más información, póngase en contacto con el soporte técnico de Microsoft.

Solución del problema

Además de la revisión mencionada antes, existen dos soluciones alternativas para este problema.

  1. Utilice el modo de bloqueo Grizzly configurando el atributo domain.xml http-listener, blocking-enabled="true" o añada la siguiente propiedad http-listener:


    <property name="blocking" value="true"/>
  2. Utilice Windows Vista o Windows XP.

Registros

Este apartado describe problemas conocidos relacionados con el registro, junto con las soluciones pertinentes.

Al establecer instrucciones de depuración para access,failure , se produce un bloqueo en el inicio de Application Server (6180095)

Descripción

Si configura la opción java.security.debug para JVM, la instancia del servidor se bloqueará irreversiblemente al iniciarse; por ejemplo, si configura domain.xml, se producirá este problema:


<jvm-options>-Djava.security.debug=access,failure</jvm-options>

Solución

Ninguna por ahora. Evite configurar este indicador.

Message Queue

Este apartado describe problemas conocidos relacionados con Java Message Queue, junto con las soluciones pertinentes.

La reconexión de JMS no se completa correctamente en determinados casos que dependen de temporizadores (6173308, 6189645, 6198481, 6199510, 6208728)

Descripción

Los errores al volverse a conectar en situaciones que dependen de temporizadores pueden estar causados por diversos problemas.

Solución

Puede solucionarlos de esta forma:

El agente de MQ no se inicia con el perfil del clúster en Linux (6524871)

Descripción

Después de crear un dominio con un perfil de clúster en un sistema Linux, es posible que encuentre un error en java.lang.OutOfMemoryError: Java heap space y que la instancia del servidor no se inicie porque el agente no MQ no se ha iniciado. El sistema nunca se recupera tras esta condición. El problema reside en un archivo /etc/hosts mal configurado; en concreto, el nombre del host del servidor apunta a la dirección de bucle invertido 127.0.0.1.

Solución

Por diseño, un clúster de agente MQ no puede iniciarse cuando el dispositivo de red está configurado para apuntar a la dirección de bucle invertido. Esto no es un fallo. La solución consiste en asegurarse de que el archivo /etc/hosts del host Application Server no apunte a 127.0.0.1.

Supervisión

Este apartado describe problemas conocidos relacionados con la supervisión, junto con las soluciones pertinentes.

Algunas estadísticas de control del servicio HTTP no ofrecen información útil y deberían ignorarse (6174518)

Descripción

Al visualizar las estadísticas de supervisión de algunos elementos en el servicio HTTP, algunos valores que se presentan no se corresponden con los valores reales o se muestran siempre como 0. Específicamente, las siguientes estadísticas de servicio HTTP no muestran información aplicable para Application Server y, en consecuencia, hay que hacer caso omiso de ellas:

Solución

Estos elementos de supervisión se eliminarán en versiones futuras y se sustituirán por información más adecuada.

Al abrir el navegador JNDI desde la interfaz de usuario de administración se añade una enorme cantidad de excepciones en server.log (6591734)

Descripción

Muchas de las excepciones se generan cuando el navegador JNDI se abre desde la Interfaz de usuario de administración.

Solución

Ninguna por ahora.

Ejemplos

En esta sección, se describen problemas conocidos relacionados con el código de ejemplo incluido en el producto Application Server 9.1.

La documentación no indica de forma explícita que es necesario crear recursos de JMS. La documentación no indica de forma explícita que es necesario crear recursos de JMS (6198003)

Descripción

La documentación no indica de forma explícita que es necesario crear recursos de JMS antes de ejecutar la Aplicación de muestras de errores de MQ siguiendo las instrucciones de implementación de asadmin.

El error que se produce es el siguiente:


/opt/SUNWappserver/domains/domain1/config/sun-acc.xml -name 
MQFailoverTestClient -textauth -user j2ee -password j2ee
Nov 18, 2004 10:50:17 PM com.sun.enterprise.naming.NamingManagerImpl 
bindObjects
SEVERE: NAM0006: JMS Destination object not found: jms/durable/TopicA
Nov 18, 2004 10:50:18 PM com.sun.enterprise.naming.NamingManagerImpl 
bindObjects
SEVERE: javax.naming.NameNotFoundException
javax.naming.NameNotFoundException

La documentación no indica explícitamente que los recursos JMS se deban crear manualmente si se lleva a cabo una implementación manual utilizando comandos asadmin deploy ni que haya que usar los destinos Ant especificados para implementar la aplicación de ejemplo.

Solución

Use el destino de implementación asant para la secuencia de comandos build.xml, lo que crea los recursos JMS necesarios para ejecutar la aplicación.

En Linux, se muestra un error de tiempo de ejecución durante la creación de certificados en muestras de servicios web o de seguridad (6198239)

Descripción

Cuando se implementa el ejemplo install_dir/samples/webservices/security (basicSSl) en Linux, el certificado no se crea y se muestra un error similar al siguiente:


generate_certs: [echo] ***Exporting certificate from NSS database 
[exec] Result: 1 [echo] ***Generating Java Keystore from generated 
certificate [exec] keytool error: java.lang.Exception: Input not an 
X.509 certificate [exec] Result: 1 [echo] ***Generating Java trust 
store from generated certificate [exec] keytool error: java.lang.
Exception: Input not an X.509 certificate [exec] Result: 1
.
.
.
generate_certs: [echo] ***Exporting server certificate from NSS database to 
a PKCS12 certificate file [exec] /opt/sun/appserver/lib/pk12util: /usr/lib/
libnss3.so: version `NSS_3.9' not found (required by /opt/sun/appserver/lib/
pk12util) [exec] /opt/sun/appserver/lib/pk12util: /usr/lib/libnss3.so: 
version `NSS_3.6' not found (required by /opt/sun/appserver/lib/pk12util) 
[exec] /opt/sun/appserver/lib/pk12util: /usr/lib/libnss3.so: version 
`NSS_3.7' not found (required by /opt/sun/appserver/lib/pk12util) [exec] 
Result: 1

El problema es que la ubicación de las bibliotecas NSS es distinta en Linux y en Solaris. Debe asegurarse de que LD_LIBRARY_PATH señale a las bibliotecas NSS adecuadas a la hora de realizar la implementación en Linux. Defina LD_LIBRARY_PATH en su entorno o bien ajuste la secuencia de comandos del empaquetador del shell install_dir/bin/asant.

Solución

Lleve a cabo una de las siguientes acciones:

Después de la actualización, las muestras de AS9.1 y del portal JES5 compiten por el puerto de derby 1527 (6574563)

Descripción

En Windows, después de actualizar a Application Server 9.1, las muestras y las muestras del portal JES5 compiten por el puerto Derby 1527. En concreto, Application Server 9.1 inicia automáticmente JavaDB en el puerto 0.0.0.0:1527 con APP:APP, sin embargo el JES5 Portal JavaDB pretende enlazar a hostnameIP:1527 con portal:portal.

Este error describe un problema que ya se observó para JEMicrosoftrror 6472173. La solución alternativa para el error 6472173 se documenta en la Sun Java Enterprise System 5 Installation Guide for Microsoft Windows.

Solución

Iniciar la base de datos Derby con el siguiente comando:


<JES installation dir>\appserver\bin\asadmin start-database --dbhome <JES installation dir>\portal\data\derby

Seguridad

Este apartado describe problemas conocidos relacionados con los certificados y la seguridad de las aplicaciones web y Application Server, junto con las soluciones pertinentes.

La finalización de SSL no funciona (6269102)

Descripción

El proceso de finalización de SSL no funciona; cuando se configura el equilibrador de carga (hardware) para la finalización de SSL, Application Server cambia el protocolo https por http durante la redirección.

Solución

Agregue un equilibrador de carga de software entre el equilibrador de carga de hardware y Application Server.

Pérdida de la conexión del socket con SSL (6492477)

Descripción

A causa de un error de JVM, se produce un problema de pérdida con algunas versiones de JDK cuando security-enabled se establece en true en una escucha HTTP. Los pasos concretos para reproducir el error son los siguientes:

  1. Establezca security-enabled en true en la escucha HTTP:


    <http-listener acceptor-threads="1" address="0.0.0.0" 
    blocking-enabled="false" default-virtual-server="server" enabled="true" 
    family="inet" id=" http-listener-1" port="8080" security-enabled="true" 
    server-name="" xpowered-by="true">
  2. Delimitar con comentarios el dominio de detención al final de las pruebas de quicklook.

  3. Ejecutar las pruebas de quicklook.

  4. Comprobar el uso del socket:


    netstat -an | grep 8080

    Los siguientes están en uso:


    *.8080               *.*                0      0 49152      0 LISTEN
    *.8080               *.*                0      0 49152      0 BOUND

Se hace un seguimiento de este problema en el sitio Glassfish: https://glassfish.dev.java.net/issues/show_bug.cgi?id=849.

Solución

Actualizar a la versión más reciente de JDK.

Utilidad de actualización

En esta sección, se describen problemas conocidos relacionados con la utilidad de actualización, junto con las soluciones pertinentes.

Los dominios creados en una ruta personalizada que no sea el directorio install_dir/domains no se actualizan directamente (6165528)

Descripción

Los dominios creados en una ruta personalizada distinta del directorio install_dir /domains no se actualizan directamente al actualizar de Application Server Enterprise Edition 8 a Application Server Enterprise Edition 8.1.

Al ejecutar la utilidad de actualización e identificar install_dir como el directorio de instalación de origen, el proceso de actualización actualiza sólo los dominios que se crean en el directorio install_dir/domains. Los dominios creados en otras ubicaciones no se actualizan.

Solución

Antes de iniciar el proceso de actualización, copie todos los directorios del dominio desde sus ubicaciones en el directorio install_dir/domains .

El algunos sistemas Linux, el instalador que ejecuta las "actualizaciones in situ" no inicia la herramienta de actualización después de hacer clic en el botón "Iniciar asistente de actualización". (6207337)

Descripción

Este problema se ha observado en varios sistemas Linux y es más frecuente en Java Desktop System 2, pero también se ha detectado en distribuciones Red Hat.

Después de hacer clic en el botón que permite iniciar la herramienta de actualización en la pantalla final del instalador, éste no logra iniciarla para completar el proceso y se bloquea de forma indefinida, por lo que no consigue volver a la línea de comandos.

Solución

Este problema no se produce si se utiliza el modo de instalación mediante línea de comandos para llevar a cabo la actualización "in situ".

  1. Si realiza dicha actualización en modo de GUI y se encuentra con este problema, salga del instalador pulsando Ctrl+C en la ventana de terminal en la que se inició el instalador.

  2. Inicie la herramienta de actualización desde la ventana de terminal usando los siguientes comandos:


    install_dir/bin/asupgrade --source install_dir/domains --target 
    install_dir --adminuser adminuser --adminpassword adminpassword 
    --masterpassword changeit

    adminuser y adminpassword deben coincidir con los valores usados para la instalación que esté actualizando.

  3. Cuando la herramienta de actualización complete el proceso, podrá iniciar también el explorador y especificar la siguiente URL para visualizar la página que muestra información acerca del producto:


    file://install_dir/docs-ee/about.html

Si seleccionó la opción pertinente para registrar el producto, siga el enlace a la página de registro que se mostrará en la página de información sobre el producto.

No se confía en el certificado autofirmado durante y después de la actualización de 8.0 Platform Edition (PE) a 8.1 Enterprise Edition (EE) UR2 (6296105)

Solución

Elimine las siguientes entradas del destino domain.xml (después de la actualización) y reinicie el servidor:

<jvm-options>-Djavax.net.ssl.keyStore=${com.sun.aas.instanceRoot}
/config/keystore.jks</jvm-options>-
<jvm-options>Djavax.net.ssl.trustStore=${com.sun.aas.instanceRoot}
/config/cacerts.jks</jvm-options>

La herramienta de actualización sobrescribe el contenido del archivo index.html modificado de una instancia (miembro de un clúster (6386451)

Descripción

La herramienta de actualización sobrescribe cualquier archivo index.html existente de cualquier instancia de servidor.

Solución

Haga copias de seguridad de sus archivos index.html antes de ejecutar la herramienta de actualización y después restaure los archivos.

(sbs-manual, sbs-installer) genera un error avisando que el servidor de la instancia de servidor no tiene un conector de sistema llamado "null" (6545145)

Descripción

Al actualizar Application Server 8.0PE a 9.1, se genera un error avisando que el servidor no tiene ningún conector de sistema llamado null, y muestra la información del usuario no válida que aparece en sbs-manual. Incluso después de cambiar los valores codificados, sigue apareciendo el mismo mensaje de error. Esto se produce porque el archivo domain.xml ha cambiado en el paso de 8.0 a 9.1.

Solución

Sólo se encontrará con este problema al actualizar de una versión 8.0 PE a otra 9.1. La solución alternativa es actualizar primero a 8.1, 8.2, o a 9.0 y después pasar a la 9.1.

Se pierden los distintos dominios cuando se utilizan combinaciones de versiones diferentes (6546130)

Descripción

Al realizar una actualización "in situ" cuando hay varios dominios en la fuente, el instalador invoca la herramienta de actualización aunque se aborte el proceso. Esto sucede cuando se invoca en el modo GUI.

Solución

  1. Instale la actualización in situ en el modo CLI y salga cuando el instalador le pida que seleccione la herramienta de actualización al final del proceso de instalación. Si hace lo indicado, no se eliminará ninguno de los dominios presentes en el directorio de dominios. La herramienta de actualización debería invocarse manualmente desde el directorio bin.

  2. Si instala la actualización in situ en el modo GUI, haga una copia de seguridad de los dominios que se encuentren en la raíz de dominios para evitar perder alguno en el proceso. Al final del proceso de instalación, salga cuando el instalador le pida que invoque la herramienta de actualización. Copie en el directorio de dominios las copias de seguridad de los dominios que se hayan perdido. Inicie la herramienta de actualización manualmente para hacer una actualización.

Solaris: la contraseña maestra ya introducida en la herramienta de actualización procede de AS9.1 y no de AS8.2 (6565825)

Descripción

Al actualizar de AS 8.2 a 9.1, la contraseña maestra de la instalación 8.2 no se hereda en la instalación 9.1. Por ello se produce un error de autenticación en el siguiente inicio de sesión del administrador.

Solución

La contraseña administrativa predeterminada de Application Server 9.1 sigue siendo changeit . Para evitar problemas al iniciar sesión en el servidor 9.1 tras actualizar desde 8.2, siga alguna de las siguientes instrucciones:

La herramienta de actualización de AS9.1 IFR no migra el almacén JES5U1 MQ a la nueva casa var (6573635)

Descripción

La herramienta de actualización no gestiona de ninguna forma las bases de datos en proceso de actualización ni las tablas de las bases de datos, ni tampoco admite estas operaciones. Se transfieren las configuraciones de las referencias de los recursos y Application Server debería continuar trabajando con las bases de datos y las tablas originales. Si desea cambiar la base de datos o transferir las tablas de éstas, utilice herramientas que funcionen con las bases de datos que está utilizando.

Solución

Siga los siguientes pasos para migrar el almacén MQ:


Nota –

Siga estos pasos DESPUÉS de cerrar AS 8.2 y DESPUÉS de ejecutar la herramienta de actualización AS9.1 pero ANTES de iniciar AS9.1 por PRIMERA vez. Si ya ha iniciado AS 9.1 después de la instalación o la actualización de IFR, entonces NO realice estos pasos ya que podrían desestabilizar el almacén de mensajes de MQ.


  1. Copie el sudirectorio domains/domain1/imq entero del directorio de dominios x de AS 8 al directorio de dominios de AS 9.1.

  2. Asegúrese de que la propiedad del directorio y los archivos coinciden con el usuario que va a ejecutar Application Server.

Una vez realizados los pasos anteriores, podrá iniciar Application Server 9.1 y el almacén de MQ en Application Server 9.1. El directorio domains migrará de su formato JES5 U1 al formato MQ 4.1. Tenga en cuenta que el almacén JES5 U1 MQ de AS 8.2 se conserva y no se modifica con este procedimiento, ni con MQ4.1 al iniciarse con AS 9.1

Actualización de JES5 (AS 8.2) a AS 9.1. La muestra de PS Community está rota, muchos errores javax.faces (6576700)

Descripción

Al actualizar JES5 (Application Server 8.2) a Application Server 9.1, la muestra de Portal Server Community deja de funcionar y genera muchos errores javax.faces.application.ApplicationFactory .

Solución

La actualización de Application Server 8.2 a 9.1 no se admite si Application Server 8.2 se instaló con JES5 Portal Server. Es necesario actualizar Portal Server a Java ES 5 Update 1 antes de actualizar Application Server a 9.1.

AS91 IFR b58, Linux: El enlace /usr/jdk/entsys-j2se no se actualiza después de instalar un nuevo Java con el instalador (6591697)

Descripción

Al actualizar Application Server 8.2 a 9.1 con el instalador IFR en las plataformas Linux mediante la opción Instalar JDK, pero después de completar correctamente la instalación, la mayoría de los componentes JES dejan de funcionar.

Solución

Este problema sólo afecta a la instalación IFR de Application Server 9.1 en las plataformas Linux y sólo cuando se selecciona la opción Instalación JDK. Para solucionar temporalmente este problema, enlace /usr/jdk/entsys-j2se al directorio /usr/java/jdk1.5.0_12 inmediatamente después de la instalación.

AS9.1 IFR Win: la copia de seguridad in situ no se integra con la comprobación de los valores de forma de asupdate.bat (ruta incorrecta) (6596412)

Descripción

Al realizar una actualización IFR de Application Server 9.1 en Windows, la copia de seguridad in situ no se integra correctamente con los valores de forma de asupdate.bat. En concreto, si introduce información incorrecta en una pantalla GUI de ASupdate.bat y después pulsa Siguiente, el instalador de la actualización intenta detectar si se trata de una actualización in situ. Si lo es, mueve domain1 a un directorio de copia de seguridad antes de la actualización. A medida que continúa la actualización, aparece un mensaje de error debido a la información incorrecta. Si intenta corregir el error inmediatamente, aparece un error de ruta porque domain1 se ha movido.

Solución

Cambie el directorio fuente al directorio domain1_ {marca de fecha y hora} en {ruta de fuente actual}/backup o salga del instalador con el botón Cancelar y empiece de nuevo.

AS9.1 IFR Windows: la actualización en línea, Domain1 se elimina cuando se utiliza asupgrade.bat con rutas cortas y largas (6596394)

Descripción

(sólo Windows) Si se instaló una versión anterior de Application Server con caracteres especiales o con nombres cortos al estilo DOS en la ruta del directorio del programa, las actualizaciones in situ posteriores de Application Server 9.1 fallarán si se utilizan estos mismos nombres de ruta de directorios.

Por ejemplo, si se instaló Application Server 8.2 en alguno de estos directorios:


C:\Program Files (x86)\dirs\appserver
c:\progra~2\dirs\appserver

Cualquier intento de realizar una actualización in situ a 9.1 fallará porque el instalador no puede convertir los nombres cortos o caracteres especiales al formato de nombres largos necesario.

Solución

No le recomendamos que instale Application Server en una ruta que contenga caracteres especiales o truncados de nombres cortos al estilo DOS (como progra~2), ya que impide las posteriores instalaciones de las actualizaciones. Si existe esta instalación, puede volver a instalarlo con nombres de ruta largos antes de la actualización o instalar la versión nueva de Application Server en un directorio totalmente nuevo.

AS 9.1 IFR: Autenticación interrumpida en la interfaz de usuario de la web (6569813)

Descripción

Después de una actualización de Application Server, la etiqueta <jsp:forward> no funciona como se espera en Authenticate.jsp. La llamada <jsp:forward> produce un error en los registros del servidor y aparece una página en blanco en la interfaz de usuario de la web. El problema es que el <jsp:forward> de Authenticate.jsp necesita un atributo de página como <jsp:forward page="${redirectPage}"/>, pero el valor que se transmite es una ruta relativa como /registry/thin/{pagename}.jsp, que no funciona ni cuando Authenticate.jsp es una página JSP pura.

Solución

Tras completar la actualización Application Server, utilice la herramienta asadmin para ejecutar los siguientes comandos y establecer el <auth-realm> en domain.xml:

  1. Vaya a <appserver9.1-install-dir>/bin y ejecute el siguiente comando:


    ./asadmin delete-auth-realm --host localhost --port 6489 certificate

    Al hacerlo, se elimina el certificado auth-realm antiguo, si es que existe.

  2. Ejecute el comando siguiente:


    ./asadmin create-auth-realm --terse=false --echo=true --interactive=true \
    --user admin --host localhost --port 6489 --classname \
    com.sun.enterprise.security.auth.realm.certificate.CertificateRealm \
    --property assign-groups=have.client.cert  certificate

    Al hacerlo, se crea el nuevo <auth-realm> con la propiedad assign-groups .

  3. Detenga y reinicie el dominio Application Server registry.

No existe ayuda en línea traducida de la interfaz de usuario de asupgrade (6610170)

Descripción

Al ejecutar la interfaz de usuario de asupgrade en un idioma que no sea el inglés, la ayuda en línea de la interfaz de usuario no está traducida al idioma seleccionado.

Solución

Ninguna por el momento. Se planea traducir la ayuda en línea a todos los idiomas meta distintos al inglés.

Contenedor web

En esta sección, se describen problemas conocidos relacionados con el contenedor web, junto con las soluciones pertinentes.

En Windows, al implementar una aplicación con - -precompilejsp=true pueden bloquearse los archivos JAR de esa aplicación, haciendo que la desimplementación y la reimplementación posteriores fallen (5004315)

Descripción

Si solicita una precompilación de JSP cuando implemente una aplicación en Windows, los siguientes intentos para anular la implementación o para volver a implementarla (o alguna aplicación con el mismo ID de módulo) no funcionarán tal y como se esperaba. El problema es que la precompilación de JSP abre archivos JAR en la aplicación, pero luego no los cierra y Windows impide que se anule la implementación porque no se pueden eliminar los archivos e impide que se puedan volver a implementar, puesto que no se pueden sobrescribir.

Tenga en cuenta que la anulación de la implementación es correcta hasta un punto en el que la aplicación se elimina lógicamente de Application Server. Tenga en cuenta también que la utilidad asadmin no muestra ningún mensaje de error, a pesar de que los archivos jar bloqueados y el directorio de la aplicación siguen estando en el servidor. El archivo de registro del servidor contiene mensajes en los que se indica que no se han podido eliminar los archivos ni el directorio de la aplicación.

Los intentos de volver a implementar la aplicación después de que ésta se haya anulado fallan porque el servidor trata de eliminar los archivos existentes y el directorio, pero estos intentos fallan. Esto puede suceder si intenta implementar una aplicación que utilice el mismo ID de módulo que la aplicación que se implementó originalmente porque el servidor utiliza dicho ID de módulo cuando elige el nombre del directorio para conservar los archivos de la aplicación.

Si intenta reimplementar la aplicación sin anular su implementación primero, se producirán fallos por las mismas razones.

Diagnóstico

Si intenta volver a implementar la aplicación o implementarla después de haberla eliminado, la utilidad asadmin devuelve un error semejante al siguiente.


An exception occurred while running the command. The exception 
message is: CLI171 Command deploy failed : Deploying application in 
domain failed; Cannot deploy. Module directory is locked and can't 
be deleted.

Solución

No se producirá este problema, si especifica --precompilejsps=false (la configuración predeterminada) al implementar una aplicación. Tenga en cuenta que el primer uso que haga de la aplicación desencadenará la compilación JSP, por lo que el tiempo de respuesta para la primera solicitud será superior al de las solicitudes posteriores.

Debe saber también que si realiza una compilación previa, deberá detener y reiniciar el servidor antes de anular la implementación de la aplicación o de volver a implementarla. Al cerrar, se liberan los archivos JAR bloqueados por lo que la anulación de la implementación o el proceso para volver a implementar se realizarán correctamente.

No es posible implementar WAR con el archivo web.xml basado en Servlet 2.4 que contiene un elemento <load-on-startup> (6172006)

Descripción

El elemento opcional load-on-startup servlet en web.xml indica que el servlet asociado se debe cargar e iniciar cuando se inicie la aplicación web de la que forma parte.

El contenido opcional de este elemento es un entero que indica el orden en el que se debe cargar e iniciar el servlet con respecto a los demás servlets de la aplicación web. Si <load-on-startup> está vacío, indica que el orden no es relevante, siempre y cuando el servlet se cargue e inicie durante el inicio de la aplicación web que lo contiene.

El esquema de Servlet 2.4 de web.xml ya no admite un elemento <load-on-startup> vacío. Esto implica que debe especificarse un entero al utilizar un archivo web.xml basado en Servlet 2.4. Si se especifica un elemento <load-on-startup> vacío, como en <load-on-startup/>, el archivo web.xml no podrá realizar la validación en el esquema de Servlet 2.4 para web.xml, por lo que fallará la implementación de la aplicación web.

Problema de compatibilidad con versiones anteriores En el caso de web.xml basado en Servlet 2.3, sí se puede dejar vacío <load-on-startup>.

Solución

Especifique <load-on-startup>0</load-on-startup> al utilizar un archivo web.xml basado en Servlet 2.4 para indicar que el orden de carga del servlet es irrelevante.

No es posible compilar la página JSP en servidores con recursos limitados (6184122)

Descripción

Se puede acceder a la página JSP, pero se producen fallos al compilar y el registro del servidor contiene el mensaje de error "Unable to execute command", es decir, que no se puede ejecutar el comando con este seguimiento de pila:


at org.apache.tools.ant.taskdefs.Execute$Java13CommandLauncher.
exec(Execute.java:655) at org.apache.tools.ant.taskdefs.Execute.
launch(Execute.java:416) 
at org.apache.tools.ant.taskdefs.Execute.execute(Execute.java:427) 
at org.apache.tools.ant.taskdefs.compilers.DefaultCompilerAdapter.
executeExternalCompile(DefaultCompilerAdapter.java:448) 
at org.apache.tools.ant.taskdefs.compilers.JavacExternal.execute
(JavacExternal.java:81) 
at org.apache.tools.ant.taskdefs.Javac.compile(Javac.java:842) 
at org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:682) 
at org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:396)

Solución

Defina el conmutador de compilación "fork" de JSP en "false".

Esta acción puede realizarse de dos formas:

Cualquiera de estos ajustes evitará que ant genere un nuevo proceso de compilación javac .

Application Server no admite el complemento auth-passthrough de Web Server 6.1 (6188932)

Descripción

Sun Java System Application Server 9.1 es compatible con la funcionalidad proporcionada por la función del plugin auth-passthrough disponible con Sun Java System Application Server Enterprise Edition 7.1. Sin embargo, en Application Server 9.1, la función plugin de auth-passthrough se configura de forma distinta.

La función plugin de auth-passthrough en Application Server Enterprise Edition 7.1 ha sido útil en escenarios de dos niveles, cuando:

En arquitecturas de red de este tipo, un cliente se conecta a un servidor web de principal (front-end) que se haya configurado con la función del complemento service-passthrough y reenvía solicitudes HTTP a la instancia de Application Server que actúa de proxy para que las procese. La instancia de Application Server sólo puede recibir solicitudes desde el proxy del servidor web, pero nunca directamente de los hosts clientes. En consecuencia, ninguna aplicación implementada en la instancia de Application Server que actúa de proxy que solicite información del cliente (como pueda ser la dirección IP del cliente) recibirá la IP de host del proxy, puesto que éste es el host que origina la solicitud remitida.

Solución

En Application Server Enterprise Edition 7.1, la función plugin de auth-passthrough podría configurarse en la instancia de Application Server con proxy para hacer que la información del cliente remoto esté disponible directamente con cualquier aplicación implementada en ella, como si la instancia de Application Server con proxy hubiera recibido la solicitud directamente, en lugar de a través del servidor web que ejecuta el plugin service-passthrough.

En Application Server 9.1, la función auth-passthrough puede activarse estableciendo la propiedad authPassthroughEnabled del elemento <http-service> en domain.xml a TRUE, de la siguiente manera:


<property name="authPassthroughEnabled" value="true"/>

Las mismas consideraciones de seguridad de la función plugin de auth-passthrough de Application Server Enterprise Edition 7.1 se aplican a la propiedad authPassthroughEnabled de Application Server 9.1. Dado que authPassthroughEnabled hace posible anular la información que puede utilizarse para fines de autenticación (como la dirección IP de la que se origina la solicitud, o el certificado del cliente SSL), es fundamental que sólo los clientes y servidores de confianza puedan conectarse a una instancia Application Server 9.1 con authPassthroughEnabled establecida en TRUE. Como medida de precaución, se recomienda que sólo los servidores que estén detrás de un servidor de seguridad corporativo se configuren con authPassthroughEnabled establecido en TRUE. Un servidor que esté accesible a través de Internet nunca debe configurarse con authPassthroughEnabled definido en TRUE.

Tenga en cuenta que en una situación en la que el servidor web proxy se haya configurado con el plugin service-passthrough y éste reenvíe solicitudes a una instancia de Application Server 8.1 Update 2 con authPassthroughEnabled definida como TRUE, la autenticación SSL de cliente puede habilitarse en el servidor web proxy y deshabilitarse en la instancia de Application Server 8.1 Update 2 que actúe de proxy. En este caso, la instancia de Application Server 8.1 Update 2 seguirá considerando la solicitud como si estuviera autenticada a través de SSL y proporcionará el certificado SSL de cliente a cualquier aplicación implementada que lo solicite.

Web Server

AS 9.1 b50e.Linux.No puede iniciar WS tras la instalación de AS LB: libjvm.so:cannot open shared (6572654)

Descripción

Este problema sólo se produce al utilizar el servidor web de Sun Java System con Application Server 9.1 y el equilibrador de la carga en un sistema Linux. En este caso, después de instalar Application Server y el equilibrador de la carga, el inicio de Web Server puede fallar debido al conflicto entre libicui18n.so.2 y libicuuc.so.2. Estas bibliotecas se encuentran en /opt/sun/private/lib y en /opt/sun/appserver/lib.

Solución

Las bibliotecas que hay que utilizar son las de /opt/sun/appserver/lib porque la construcción de lbplugin es contraria a esas bibliotecas. Una vez eliminadas las dos bibliotecas de /opt/sun/private/lib, Web Server debería iniciarse sin errores.

Si no desea eliminar las bibliotecas de /opt/sun/private/lib , también puede poner /opt/sun/appserver/lib antes de /opt/sun/private/lib en LD_LIBRARY_PATH de la secuencia de comandos de Web Server startserv; es decir, sustituir:


# Add instance-specific information to LD_LIBRARY_PATH for Solaris and Linux
LD_LIBRARY_PATH="${SERVER_LIB_PATH}:${SERVER_JVM_LIBPATH}:${LD_LIBRARY_PATH}:
/opt/sun/appserver/lib:/opt/sun/appserver/lbplugin/lib"; export LD_LIBRARY_PATH 

por:


# Add instance-specific information to LD_LIBRARY_PATH for Solaris and Linux
LD_LIBRARY_PATH="/opt/sun/appserver/lib:/opt/sun/appserver/lbplugin/lib:
${SERVER_LIB_PATH}:${SERVER_JVM_LIBPATH}:${LD_LIBRARY_PATH}"; export LD_LIBRARY_PATH

Servicios web

En esta sección, se describen problemas conocidos relacionados con el contenedor web, junto con las soluciones pertinentes.

La tarea de ant wsimport falla con Java EE SDK b33d (utilizando JDK 1.6) con NoClassDefFoundError (6527842)

Descripción

Puede tener problemas al ejecutar las pruebas JAX—WS con el JDK 1.6 que incluye Java EE SDK b33d. Las pruebas se cancelan inmediatamente mostrando el siguiente mensaje:


[wsimport] Exception in thread "main" java.lang.NoClassDefFoundError: \
com/sun/tools/ws/WsImport

Este error se produce incluso cuando webservices-tools.jar contiene com/sun/tools/ws/WsImport.class, com/sun/tools/ws/ant/WsImport.class y com/sun/tools/ws/ant/WsImport2.class. Además, el mismo espacio de trabajo de las pruebas funciona sin problemas con 1.5.0-10 JDK.

Solución

Copie el webservices-api.jar a $JAVA_HOME/jre/lib/endorsed antes de ejecutar las pruebas de JAX-WS.

Los comandos publish-to-registry fallan en la construcción IFR EE (6602046)

Descripción

JAXR utiliza SAAJ para enviar mensajes soap al registro. En el caso "no-IFR", las clases SAAJ impl se encuentran en lib/webservices-rt.jar. En el caso IFR, las clases SAAJ todavía están en lib/webservices-rt.jar. Además, saaj-impl.jar se encuentra en el directorio /usr/share/lib. Este archivo jar ha sido elegido por Application Server y tiene prioridad sobre las clases de webservices-rt.jar. Este archivo jar no tiene los permisos de seguridad necesarios para enviar mensajes soap al registro de los servicios web. El empaquetado debería modificarse para conceder permisos a los jars del directorio /usr/share/lib o para no depender de los jars de /usr/share/lib.

Solución

Agregue lo siguiente al archivo server.policy:


grant codeBase "file:/usr/share/lib/saaj-impl.jar" {
   permission java.security.AllPermission;
};