Notes de version de Sun Java System Application Server 9.1

Services Web

Cette section décrit les problèmes connus liés au conteneur Web et les solutions associées.

Échec de la tâche ant wsimport sur Java EE SDK b33d (utilisant JDK 1.6) avec l'erreur NoClassDefFoundError (6527842)

Description

Vous pouvez rencontrer ce problème à l'exécution des tests JAX–WS avec JDK 1.6 inclus dans Java EE SDK b33d. Les tests sont immédiatement interrompus avec le message d'erreur suivant :


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

Cette erreur se produit même si le fichier webservices-tools.jar contient les classes com/sun/tools/ws/WsImport.class, com/sun/tools/ws/ant/WsImport.class et com/sun/tools/ws/ant/WsImport2.class. En outre, cet espace de travail test fonctionne normalement avec 1.5.0-10 JDK.

Solution

Copiez le fichier webservices-api.jar vers $JAVA_HOME/jre/lib/endorsed avant d'exécuter les tests JAX-WS.

Échec des commandes publish-to-registry sous les versions IFR EE (6602046)

Description

JAXR utilise SAAJ pour envoyer des messages soap au registre. Sans IFR, les classes impl SAAJ se trouvent dans lib/webservices-rt.jar . Avec IFR, les classes SAAJ se trouvent toujours dans lib/webservices-rt.jar . En outre, le fichier saaj-impl.jar est stocké dans le répertoire /usr/share/lib. Ce fichier jar est récupéré par Application Server et est prioritaire par rapport aux classes de webservices-rt.jar . Il ne dispose pas des autorisations de sécurité nécessaires pour envoyer des messages soap au registre des services Web. Le package doit être modifié afin que les fichiers jar disposent des autorisations nécessaires sous le répertoire /usr/share/lib ou que ceux-ci ne dépendent pas des fichiers jar de /usr/share/lib.

Solution

Ajoutez les éléments suivants au fichier server.policy :


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