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.