Versionshinweise zu Sun GlassFish Enterprise Server v2.1.1

Webdienste

In diesem Abschnitt werden die bekannten Probleme mit Webcontainern sowie ihre Lösungen beschrieben.

Ant-Aufgabe wsimport schlägt mit Java EE SDK b33d (unter Verwendung von JDK 1.6) mit Fehler NoClassDefFoundError fehl (6527842)

Beschreibung

Es kann ein Problem auftreten, wenn die JAX-WS-Tests mit dem JDK 1.6 ausgeführt werden, der in Java EE SDK b33d enthalten ist. Die Tests werden sofort abgebrochen, und es wird die folgende Meldung angezeigt:


[wsimport] Exception in thread "main" java.lang.NoClassDefFoundError: \
com/sun/tools/ws/WsImport

Dieser Fehler tritt auf, obwohl die webservices-tools.jar-Datei folgende Elemente enthält: com/sun/tools/ws/WsImport.class, com/sun/tools/ws/ant/WsImport.class und com/sun/tools/ws/ant/WsImport2.class. Darüber hinaus funktioniert derselbe Testarbeitsbereich unter Verwendung von 1.5.0-10 JDK problemlos.

Lösung

Kopieren Sie die Datei webservices-api.jar vor dem Ausführen der JAX-WS-Tests in das Verzeichnis $JAVA_HOME/jre/lib/endorsed .

publish-to-registry-Befehle schlagen in IFR EE-Builds fehl (6602046)

Beschreibung

JAXR verwendet SAAJ, um SOAP-Meldungen an die Registrierung zu senden. Wenn nicht IFR verwendet wird, befinden sich die SAAJ-Klassen impl unter lib/webservices-rt.jar . Bei Einsatz von IFR befinden sich die SAAJ-Klassen weiterhin unter lib/webservices-rt.jar . Darüber hinaus befindet sich saaj-impl.jar im Verzeichnis /usr/share/lib. Diese JAR-Datei wird von Enterprise Server verwendet und hat Vorrang vor Klassen aus webservices-rt.jar. Diese JAR-Datei verfügt nicht über die erforderlichen Sicherheitsberechtigungen, um SOAP-Meldungen an die Web Services-Registrierung zu senden. Das Paket sollte so geändert werden, dass den JAR-Dateien unter /usr/share/lib Berechtigungen zugewiesen werden oder dass keine Abhängigkeit von den JAR-Dateien in /usr/share/lib besteht.

Lösung

Fügen Sie der server.policy-Datei Folgendes hinzu:


grant codeBase "file:/usr/share/lib/saaj-impl.jar" {
   permission java.security.AllPermission;
};

wscompile schlägt mit Fehler "package javax.xml.rpc does not exist" in JDK6 u4 b3 fehl (6638567)

Beschreibung

Die Ant-Aufgabe wscompile schlägt für JDK 6 Update 4 fehl. Für jede JAX-RPC API-Klasse wird die folgende Meldung angezeigt:


package package-name does not exist

Lösung

Stellen Sie vor dem Ausführen der Ant-Aufgabe wscompile sicher, dass javaee.jar im Klassenpfad angegeben ist, nicht j2ee.jar.