Sun GlassFish Communications Server 1.5 リリースノート

Web サービス

ここでは、Web コンテナに関する既知の問題とその解決方法を示します。

Ant タスク wsimport が Java EE SDK b33d (JDK 1.6 を使用) で NoClassDefFoundError を出して失敗する(6527842)

説明

Java EE SDK b33d に含まれる JDK 1.6 を使用して JAX—WS テストを実行するときに、問題が発生する場合があります。テストはただちに停止し、次のメッセージが表示されます。


[wsimport] Exception in thread "main" java.lang.NoClassDefFoundError: \

com/sun/tools/ws/WsImport

webservices-tools.jarcom/sun/tools/ws/WsImport.classcom/sun/tools/ws/ant/WsImport.class、および com/sun/tools/ws/ant/WsImport2.class が含まれていても、このエラーは起きます。さらに、1.5.0-10 JDK を使用すると、同じテスト作業空間が問題なく機能します。

解決方法

JAX-WS テストを実行する前に、webservices-api.jar$JAVA_HOME/jre/lib/endorsed にコピーします。

IFR EE ビルドで publish-to-registry コマンドが失敗する (6602046)

説明

JAXR は SAAJ を使用して SOAP メッセージをレジストリに送信します。IFR 以外では、SAAJ impl クラスは lib/webservices-rt.jar の下にあります。IFR の場合、SAAJ クラスは引き続き lib/webservices-rt.jar の下にあります。また、saaj-impl.jar/usr/share/lib ディレクトリにあります。この jar ファイルは Communications Server で格上げされ、webservices-rt.jar のクラスよりも優先されています。この jar ファイルには、SOAP メッセージを Web サービスレジストリに送信するために必要なセキュリティー権限がありません。/usr/share/lib ディレクトリ内の jar に権限を付与するか、/usr/share/lib の jar に依存しないように、パッケージを変更する必要があります。

解決方法

server.policy ファイルに次の内容を追加します。


grant codeBase "file:/usr/share/lib/saaj-impl.jar" {

   permission java.security.AllPermission;

};

JDK6 u4 b3 で wscompile は「package javax.xml.rpc does not exist」エラーが発生する (6638567)

説明

wscompile Ant タスクは、JDK 6 Update 4 では失敗します。JAX-RPC API クラスごとに、次のエラーメッセージが表示されます。


package package-name does not exist

解決方法

wscompile Ant タスクを実行する前にj2ee.jar ではなく javaee.jar がクラスパスに指定されていることを確認します。