Notas de la versión de Service Registry 3.1

Problemas de compatibilidad

En este apartado, se describen los siguientes problemas relacionados con la compatibilidad:

Funciones en extinción

Mecanismo de registro de usuarios

Esta versión de Service Registry incluye su propio mecanismo de autenticación y administración de usuarios. Está previsto modernizar Registry a un mecanismo basado en SAML en una próxima versión (como se especifica en el estándar ebXML Registry, del que este componente es una implementación).

Errores relacionados con la compatibilidad

Los siguientes errores de Service Registry 3.1 están relacionados con la compatibilidad.

6422192: se produce una excepción NullPointerException al utilizar la herramienta de administración de Service Registry 3.1 con Service Registry 3.0.

Resumen del problema: si utiliza la herramienta de administración de Service Registry 3.1 con una instancia implementada de Service Registry 3.0, los comandos como cp y rm generarán una excepción NullPointerException.

Solución: utilice la herramienta de administración de Service Registry 3.1 sólo con Service Registry 3.1 y la herramienta de administración de Service Registry 3.0 con Service Registry 3.0.

6463868: el programa cliente o el servidor que utiliza JDK 1.6 presenta errores.

Resumen del problema: si un programa cliente JAXR se ejecuta en un entorno de JDK 1.6 o si Service Registry se implementa en un sistema que esté ejecutando JDK 1.6, se producen errores de tiempo de ejecución cuando el programa realiza una operación de consulta o publicación. El problema subyacente consiste en que JDK 1.6 utiliza la versión 1.3 de SOAP with Attachments API for Java (SAAJ), mientras que Application Server utiliza la versión 1.2.

Solución: existen dos tipos de soluciones necesarias, una para el sistema cliente y otra para el servidor.

ProcedurePara realizar la solución del sistema cliente

Es necesario llevar a cabo la solución del sistema cliente si éste ejecuta JDK 1.6. Esta solución conlleva las siguientes tareas:

  1. Asegúrese de que la ruta de clase incluya los siguientes archivos JAR:

    En SO Solaris:

    /usr/share/lib/saaj-api.jar
    /usr/share/lib/saaj-impl.jar

    En los sistemas Linux y HP-UX:

    /opt/sun/share/lib/saaj-api.jar
    /opt/sun/share/lib/saaj-impl.jar

    Por ejemplo, si los destinos Ant para el sistema Linux incluyen una configuración como la siguiente, la ruta de clase es correcta:

    <path id="classpath">
      <fileset dir="/opt/sun/share/lib">
        <include name="*.jar"/>
      </fileset>
      ...
    </path>
  2. Agregue las siguientes etiquetas <sysproperty> a los destinos <java> en los archivos build.xml:

    <sysproperty key="javax.xml.soap.MessageFactory" 
       value="com.sun.xml.messaging.saaj.soap.ver1_1.SOAPMessageFactory1_1Impl"/>
    <sysproperty key="javax.xml.soap.MetaFactory" 
       value="com.sun.xml.messaging.saaj.soap.SAAJMetaFactoryImpl"/>
    <sysproperty key="javax.xml.soap.SOAPConnectionFactory" 
       value="com.sun.xml.messaging.saaj.client.p2p.HttpSOAPConnectionFactory"/>
    <sysproperty key="javax.xml.soap.SOAPFactory" 
       value="com.sun.xml.messaging.saaj.soap.ver1_1.SOAPFactory1_1Impl"/>

ProcedurePara realizar la solución del sistema del servidor

La solución del sistema del servidor conlleva las siguientes tareas:

  1. Acceda al directorio lib de Application Server.

    En SO Solaris: cd /opt/SUNWappserver/appserver/lib

    En los sistemas Linux y HP-UX: cd /opt/sun/appserver/lib

  2. Realice copias de seguridad de los dos archivos JAR de SAAJ en el directorio lib de Application Server. Por ejemplo:


    cp saaj-api.jar saaj-api.jar.v1.2
    cp saaj-impl.jar saaj-impl.jar.v1.2
    
  3. Copie los archivos JAR de SAAJ 1.3 en el directorio lib de Application Server.

    En SO Solaris:


    cp /usr/share/lib/saaj-api.jar .
    cp /usr/share/lib/saaj-impl.jar .
    

    En los sistemas Linux y HP-UX:


    cp /opt/sun/share/lib/saaj-api.jar .
    cp /opt/sun/share/lib/saaj-impl.jar .
    
  4. Inicie sesión en la consola de administración de Application Server, como se describe en To Use the Application Server Admin Console de Service Registry 3.1 Administration Guide.

  5. Expanda el nodo de configuraciones.

  6. Expanda el nodo del servidor, server-config (Admin Config).

  7. Haga clic en Configuración de JVM.

  8. Haga clic en la ficha Opciones de JVM.

  9. Haga clic en Agregar opción de JVM.

  10. Escriba lo siguiente en el campo de texto:


    -Djavax.xml.soap.MessageFactory=com.sun.xml.messaging.saaj.soap.ver1_1.SOAPMessageFactory1_1Impl
    
  11. Haga clic de nuevo en Agregar opción de JVM.

  12. Escriba lo siguiente en el campo de texto:


    -Djavax.xml.soap.MetaFactory=com.sun.xml.messaging.saaj.soap.SAAJMetaFactoryImpl
    
  13. Haga clic en Guardar.

  14. Siga las instrucciones que aparecen en To Stop and Restart the Application Server Domain for the Registry de Service Registry 3.1 Administration Guide.

6475651: el inicio de sesión de Java ES 2005Q4 Service Registry presenta errores después de modernizar Application Server.

Resumen del problema: Si ha instalado y utilizado la versión anterior de Service Registry (de Java ES 2005Q4), y actualiza a la versión Java ES 5 de Application Server pero no actualiza a la versión Java ES 5 de Service Registry, se produce un error de inicio de sesión al intentar utilizar el mismo certificado creado anteriormente con Web Console.

Solución: edite el archivo web.xml y el archivo de directivas de seguridad para Service Registry.

    Para detener el dominio de Application Server de Registry y editar el archivo web.xml , siga estos pasos:

  1. Acceda al directorio de instalación de Service Registry:

    En SO Solaris: cd /opt/SUNWsoar/install

    En los sistemas Linux y HP-UX: cd /opt/sun/SUNWsoar/install

  2. Detenga el dominio de Application Server de Registry:

    Ant-base/ant -f build-install.xml appserver.domain.stop

  3. Acceda al directorio RegistryDomain-base /domains/registry/applications/j2ee-modules/soar/WEB-INF/ .

  4. Abra el archivo web.xml en un editor de textos.

  5. En la etiqueta <security-constraint>, inserte lo siguiente detrás de la etiqueta </web-resource-collection>:

    <auth-constraint>
      <role-name>have.client.cert</role-name>
    </auth-constraint>
  6. Inserte lo siguiente detrás de la etiqueta </security-constraints>:

    <error-page>
      <error-code>400</error-code>
      <location>/registry/thin/AuthenticateError.jsp</location>
    </error-page>
    <security-role>
      <description>all subjects who have client certificates</description>
      <role-name>have.client.cert</role-name>
    </security-role>
  7. Guarde y cierre el archivo web.xml.

    Para editar el archivo de directivas de seguridad y reiniciar el dominio, siga estos pasos:

  1. Cambie al directorio siguiente:

    En SO Solaris: cd /var/opt/SUNWsoar/domains/registry/config

    En los sistemas Linux y HP-UX: cd /var/opt/sun/SUNWsoar/domains/registry/config

  2. Abra el archivo server.policy en un editor de textos.

  3. Agregue las siguientes concesiones a este archivo:

    grant codeBase "file:${com.sun.aas.instanceRoot}/applications/j2ee-modules/soar/WEB-INF/lib/-"{
           permission java.lang.reflect.ReflectPermission "suppressAccessChecks";
    };
    
    grant codeBase "file:${com.sun.aas.instanceRoot}/generated/jsp/j2ee-modules/soar/-" {
          permission java.lang.reflect.ReflectPermission "suppressAccessChecks";
    };
  4. Guarde y cierre el archivo server.policy.

  5. Reinicie el dominio de Application Server de Registry:

    Ant-base/ant -f build-install.xml appserver.domain.start

  6. Abra la URL http://localhost:6060/soar en el navegador web. Debería poder iniciar una sesión y realizar operaciones de publicación.

6491246: no es posible realizar actualizaciones en la plataforma HP-UX

Resumen del problema: si ha instalado y utilizado la versión anterior de Service Registry (de Java ES 2005Q4) en un sistema HP-UX, y actualiza a la versión Java ES 5 de Service Registry, la instalación producirá un mensaje de error que indica que el problema se debe a HADB (High Availability Database o Base de datos de alta disponibilidad). El problema consiste en que los paquetes de HADB se instalaron en la que el programa de instalación de Java ES 5 considera como una ubicación no predeterminada.

El problema también ocurre si se desinstala la versión Java ES 2005Q4 de Application Server y, a continuación, se instalan las versiones Java ES 5 de Service Registry y Application Server.

Solución: si ha desinstalado Application Server, debe eliminar los paquetes de sun-hadb antes de volver a instalar.

Si va a realizar una actualización directamente de la versión Java ES 2005Q4 de Service Registry a la versión Java ES 5, los pasos a seguir son más complicados:

  1. Elimine los paquetes de sun-hadb.

  2. Instale las versiones Java ES 5 de Service Registry y Application Server.

  3. Edite el archivo /opt/sun/appserver/config/asenv.conf del modo siguiente:

    • Cambie la línea

      AS_ANT="/opt/sun/share/lib/ant/bin"

      por

      AS_ANT="/opt/sun/bin"
    • Cambie la línea

      AS_ANT_LIB="/opt/sun/share/lib/ant/lib"

      por

      AS_ANT_LIB="/opt/sun/share/lib"
    • Agregue las dos líneas siguientes:

      AS_DERBY_INSTALL="/opt/sun/javadb"
      AS_MFWK_HOME=/opt/sun/mfwk/share
  4. En el directorio /opt/sun/appserver/lib, cree un subdirectorio con el nombre endorsed.

  5. Copie el archivo /opt/sun/javadb/lib/derby.jar en el directorio /opt/sun/appserver/lib/endorsed.