Versionshinweise zu Service Registry 3.1

6463868: Clientprogramm oder Server, der JDK 1.6-Ergebnisse in Fehlern verwendet

Problembeschreibung: Wenn ein JAXR-Clientprogramm in einer JDK 1.6-Umgebung ausgeführt wird oder wenn Service Registry auf einem System bereitgestellt wird, auf dem JDK 1.6 ausgeführt wird, kommt es zu Laufzeitfehlern, wenn das Programm eine Abfrage oder eine Veröffentlichung durchführt. Hierbei liegt das Problem zugrunde, dass JDK 1.6 Version 1.3 von SAAJ (SOAP with Attachments API for Java) verwendet, während Application Server Version 1.2 einsetzt.

Umgehung: Es sind zwei Arten von Umgehungen erforderlich, eine für das Clientsystem und eine für den Server.

ProcedureSo führen Sie die Umgehung für das Clientsystem durch:

Die Umgehung für das Clientsystem ist erforderlich, wenn das Clientsystem JDK 1.6 ausführt. Diese Umgehung umfasst folgende Aufgaben:

  1. Vergewissern Sie sich, dass Ihr classpath folgende JAR-Dateien enthält:

    Unter Solaris OS:

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

    Auf Linux- und HP UX-Systemen:

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

    Wenn Ihre Ant-Ziele für ein Linux-System eine Einstellung der folgenden Art beinhalten, ist Ihr Klassenpfad korrekt:

    <path id="classpath">
      <fileset dir="/opt/sun/share/lib">
        <include name="*.jar"/>
      </fileset>
      ...
    </path>
  2. Fügen Sie folgende <sysproperty>-Tags zu den <java>-Zielen in Ihren build.xml-Dateien hinzu:

    <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"/>

ProcedureSo führen Sie eine Umgehung für das Serversystem durch:

Die Umgehung für das Serversystem beinhaltet folgende Aufgaben:

  1. Wechseln Sie in das lib-Verzeichnis von Application Server

    Unter Solaris OS: cd /opt/SUNWappserver/appserver/lib

    Auf Linux- und HP UX-Systemen: cd /opt/sun/appserver/lib

  2. Erstellen Sie Sicherungskopieren der beiden SAAJ JAR-Dateien im lib-Verzeichnis von Application Server . Beispiel:


    cp saaj-api.jar saaj-api.jar.v1.2
    cp saaj-impl.jar saaj-impl.jar.v1.2
    
  3. Kopieren Sie die SAAJ 1.3 JAR-Dateien in das lib-Verzeichnis von Application Server.

    Unter Solaris OS:


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

    Auf Linux- und HP UX-Systemen:


    cp /opt/sun/share/lib/saaj-api.jar .
    cp /opt/sun/share/lib/saaj-impl.jar .
    
  4. Melden Sie sich bei der Application Server Admin Console an, wie unter To Use the Application Server Admin Console in Service Registry 3.1 Administration Guide beschrieben.

  5. Erweitern Sie den Konfigurationsknoten.

  6. Erweitern Sie den Serverknoten, server-config (Admin Config).

  7. Klicken Sie auf "JVM-Einstellungen".

  8. Klicken Sie auf die Registerkarte "JVM-Optionen".

  9. Klicken Sie auf "JVM-Option hinzufügen".

  10. Geben Sie im Textfeld Folgendes ein:


    -Djavax.xml.soap.MessageFactory=com.sun.xml.messaging.saaj.soap.ver1_1.SOAPMessageFactory1_1Impl
    
  11. Klicken Sie erneut auf "JVM-Option hinzufügen".

  12. Geben Sie im Textfeld Folgendes ein:


    -Djavax.xml.soap.MetaFactory=com.sun.xml.messaging.saaj.soap.SAAJMetaFactoryImpl
    
  13. Klicken Sie auf "Speichern".

  14. Befolgen Sie die Anweisungen unter To Stop and Restart the Application Server Domain for the Registry in Service Registry 3.1 Administration Guide.