Notas de la versión de Sun GlassFish Enterprise Server 2.1

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 que existan problemas al ejecutar las pruebas de JAX—WS con JDK 1.6 incluido con Java EE SDK b33d. Las pruebas se interrumpen inmediatamente con 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 Enterprise 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. <Check Alignment of PHs>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;
};

wscompile falla con error "el paquete javax.xml.rpc no existe" en JDK6 u4 b3 (6638567)

Descripción

La tarea de ant wscompile falla con JDK 6 Update 4. Para cada clase de JAX-RPC API, aparece el siguiente mensaje de error:


package package-name does not exist

Solución

Antes de ejecutar la tarea ant wscompile asegúrese de que se especifica javaee.jar en la ruta de clase, y no j2ee.jar.