Notas de la versión de Service Registry 3.1

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.