Folgende Fehler in Service Registry 3.1 beziehen sich auf die Kompatibilität.
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.
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.
Wenn der Client JDK 1.6 ausführt und der Server JDK 1.5, so führen Sie die Schritte unter So führen Sie die Umgehung für das Clientsystem durch: aus.
Wenn der Client JDK 1.5 ausführt und der Server JDK 1.6, so führen Sie die Schritte unter So führen Sie eine Umgehung für das Serversystem durch: aus.
Wenn sowohl Client als auch Server JDK 1.6 ausführen, müssen Sie die Schritte für beide Umgehungen durchführen.
Die Umgehung für das Clientsystem ist erforderlich, wenn das Clientsystem JDK 1.6 ausführt. Diese Umgehung umfasst folgende Aufgaben:
Hinzufügen der SAAJ 1.3 JAR-Dateien zum classpath, wenn sie nicht bereits vorhanden sind
Festlegen von vier Systemeigenschaften in der Ant-Build-Datei für das Clientprogramm.
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>
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"/>
Die Umgehung für das Serversystem beinhaltet folgende Aufgaben:
Ablegen der SAAJ 1.3 JAR-Dateien im lib-Verzeichnis von Application Server
Hinzufügen zweier JVM-Optionen zur Festlegung der Systemeigenschaften
Anhalten und Neustarten von Application Server
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
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 |
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 . |
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.
Erweitern Sie den Konfigurationsknoten.
Erweitern Sie den Serverknoten, server-config (Admin Config).
Klicken Sie auf "JVM-Einstellungen".
Klicken Sie auf die Registerkarte "JVM-Optionen".
Klicken Sie auf "JVM-Option hinzufügen".
Geben Sie im Textfeld Folgendes ein:
-Djavax.xml.soap.MessageFactory=com.sun.xml.messaging.saaj.soap.ver1_1.SOAPMessageFactory1_1Impl |
Klicken Sie erneut auf "JVM-Option hinzufügen".
Geben Sie im Textfeld Folgendes ein:
-Djavax.xml.soap.MetaFactory=com.sun.xml.messaging.saaj.soap.SAAJMetaFactoryImpl |
Klicken Sie auf "Speichern".
Befolgen Sie die Anweisungen unter To Stop and Restart the Application Server Domain for the Registry in Service Registry 3.1 Administration Guide.
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:
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
Halten Sie die Application Server-Domäne für die Registrierung an:
Ant-base/ant -f build-install.xml appserver.domain.stop
Wechseln Sie in das Verzeichnis Registrierungsdomäne_Basis/domains/registry/applications/j2ee-modules/soar/WEB-INF/ .
Öffnen Sie die Datei web.xml in einem Texteditor.
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>
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>
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:
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
Öffnen Sie die Datei server.policy in Texteditor.
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"; };
Speichern und schließen Sie die Datei server.policy.
Starten Sie die Application Server-Domäne für die Registrierung neu:
Ant-base/ant -f build-install.xml appserver.domain.start
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.
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:
Entfernen Sie die sun-hadb-Pakete.
Installieren Sie die Java ES 5-Versionen von Service Registry und Application Server.
Bearbeiten Sie die Datei /opt/sun/appserver/config/asenv.conf wie folgt:
Erstellen Sie im Verzeichnis /opt/sun/appserver/lib ein Unterverzeichnis mit dem Namen endorsed.
Kopieren Sie die Datei /opt/sun/javadb/lib/derby.jar in das Verzeichnis /opt/sun/appserver/lib/endorsed.