Versionshinweise zu Service Registry 3.1

Fehler im Zusammenhang mit der Kompatibilität

Folgende Fehler in Service Registry 3.1 beziehen sich auf die Kompatibilität.

6422192: NullPointerException bei Verwendung des Verwaltungstools von Service Registry 3.1 mit Service Registry 3.0

Problembeschreibung: Wenn Sie das Verwaltungstool von Service Registry 3.1 mit einer bereitgestellten Service Registry 3.0 verwenden, führen Befehle wie cp und rm zum Ausnahmefehler NullPointerException.

Umgehung: Verwenden Sie das Verwaltungstool von Service Registry 3.1 nur mit Service Registry 3.1 und das Verwaltungstool von Service Registry 3.0 mit Service Registry 3.0.

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.

6475651: Java ES 2005Q4 Service Registry-Anmeldung schlägt nach Application Server-Upgrade fehl.

Problembeschreibung: Wenn Sie die Vorgängerversion von Service Registry (aus Java ES 2005Q4) installiert und verwendet haben und nun ein Upgrade auf die Java ES 5-Version von Application Server ausführen, nicht jedoch auf die Java ES 5-Version von Service Registry tritt ein Anmeldefehler auf, wenn Sie versuchen, dasselbe Zertifikat zu verwenden, das Sie zuvor mit der Webkonsole erstellt haben.

Umgehung: Bearbeiten Sie die Datei web.xml und die Sicherheitsrichtliniendatei für Service Registry.

    Um die Application Server-Domäne für die Registrierung anzuhalten und die Datei web.xml zu bearbeiten, müssen Sie folgende Schritte ausführen:

  1. Wechseln Sie zum Installationsverzeichnis von Service Registry:

    Unter Solaris OS: cd /opt/SUNWsoar/install

    Auf Linux- und HP UX-Systemen: cd /opt/sun/SUNWsoar/install

  2. Halten Sie die Application Server-Domäne für die Registrierung an:

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

  3. Wechseln Sie in das Verzeichnis Registrierungsdomäne_Basis/domains/registry/applications/j2ee-modules/soar/WEB-INF/ .

  4. Öffnen Sie die Datei web.xml in einem Texteditor.

  5. Fügen Sie im Tag <security-constraint> nach dem Tag </web-resource-collection> Folgendes ein:

    <auth-constraint>
      <role-name>have.client.cert</role-name>
    </auth-constraint>
  6. Fügen Sie nach dem Tag </security-constraints> Folgendes ein:

    <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. Speichern und schließen Sie die Datei web.xml.

    Gehen Sie wie folgt vor, um die Sicherheitsrichtliniendatei zu bearbeiten und einen Neustart der Domäne durchzuführen:

  1. Wechseln Sie in das folgende Verzeichnis:

    Unter Solaris OS: cd /var/opt/SUNWsoar/domains/registry/config

    Auf Linux- und HP UX-Systemen: cd /var/opt/sun/SUNWsoar/domains/registry/config

  2. Öffnen Sie die Datei server.policy in Texteditor.

  3. Nehmen Sie folgende Berechtigungen in diese Datei auf:

    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. Speichern und schließen Sie die Datei server.policy.

  5. Starten Sie die Application Server-Domäne für die Registrierung neu:

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

  6. Rufen Sie in Ihrem Webbrowser folgende URL auf http://localhost:6060/soar . Sie sollten nun in der Lage sein, sich anzumelden und Veröffentlichungen durchzuführen.

6491246: Upgrade auf HP-UX-Plattform schlägt fehl.

Problembeschreibung: Wenn Sie die letzte Version von Service Registry (von Java ES 2005Q4) unter einem HP-UX-System installiert haben und Sie jetzt ein Upgrade auf die Java ES 5-Version von Service Registry durchführen, schlägt die Installation fehl. Eine Fehlermeldung weist auf ein Problem mit der HADB (High Availability Database) hin. Das Problem besteht darin, dass die HADB-Pakete an einem Speicherort installiert wurden, den das Java ES 5-Installationsprogamm als nicht standardmäßigen Speicherort ansieht.

Dieses Problem tritt ebenfalls auf, wenn Sie die Java ES 2005Q4-Version von Application Server deinstallieren und anschließend die Java ES 5-Versionen von Service Registry und Application Server installieren.

Umgehung: Nach der Deinstallation von Application Server müssen Sie die sun-hadb-Pakete entfernen, bevor Sie die neue Installation beginnen.

Wenn Sie ein Upgrade von der Java ES 2005Q4-Version von Service Registry direkt auf die Java ES 5-Version ausführen, sind umfangreichere Schritte erforderlich:

  1. Entfernen Sie die sun-hadb-Pakete.

  2. Installieren Sie die Java ES 5-Versionen von Service Registry und Application Server.

  3. Bearbeiten Sie die Datei /opt/sun/appserver/config/asenv.conf wie folgt:

    • Ändern Sie die Zeile

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

      in

      AS_ANT="/opt/sun/bin"
    • Ändern Sie die Zeile

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

      in

      AS_ANT_LIB="/opt/sun/share/lib"
    • Fügen Sie die beiden folgenden Zeilen hinzu:

      AS_DERBY_INSTALL="/opt/sun/javadb"
      AS_MFWK_HOME=/opt/sun/mfwk/share
  4. Erstellen Sie im Verzeichnis /opt/sun/appserver/lib ein Unterverzeichnis mit dem Namen endorsed.

  5. Kopieren Sie die Datei /opt/sun/javadb/lib/derby.jar in das Verzeichnis /opt/sun/appserver/lib/endorsed.