JavaWARをGlassfish3.1.2ビルド5にデプロイする際に問題が発生しました。これが構成の誤りまたは脱落に関連している可能性があるかどうかを除外したいと思います。
http-listenerの1つを変更するまで、完全に正常に機能していたWebアプリをGlassfishにデプロイしました。それまでは、http-listener-2のSSL設定で証明書のニックネームを変更する以外は、デフォルトのリスナー(非セキュアの場合はhttp-listener-1、セキュアの場合はhttp-listener-2)を変更していませんでした。
http-listener-1をセキュリティも使用するように変更したときに問題が発生しました。そのリスナーで別の証明書を使用したかったのです。しかし、すべてのアクティブなリスナーに対してSSLを有効にすると、WARをGlassfishにデプロイできなくなったことがわかりました。server.logに次のエラーが表示されます。
[#|2012-08-17T13:42:24.686-0700|SEVERE|glassfish3.1.2|javax.enterprise.system.core.com.sun.enterprise.v3.server|_ThreadID=2257;_ThreadName=Thread-2;|java.lang.RuntimeException
at org.glassfish.webservices.WebServicesDeployer.prepare(WebServicesDeployer.java:193)
at com.sun.enterprise.v3.server.ApplicationLifecycle.prepareModule(ApplicationLifecycle.java:871)
at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:410)
at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:240)
at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:389)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$1.execute(CommandRunnerImpl.java:348)
at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:363)
at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1085)
at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1200(CommandRunnerImpl.java:95)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1291)
...
at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
at java.lang.Thread.run(Thread.java:722)
Caused by: java.lang.NullPointerException
at com.sun.enterprise.deployment.WebServiceEndpoint.composeEndpointAddress(WebServiceEndpoint.java:698)
at com.sun.enterprise.deployment.WebServiceEndpoint.composeEndpointAddress(WebServiceEndpoint.java:690)
at com.sun.enterprise.deployment.WebServiceEndpoint.composeFinalWsdlUrl(WebServiceEndpoint.java:753)
at org.glassfish.webservices.WebServicesDeployer.doWebServicesDeployment(WebServicesDeployer.java:634)
at org.glassfish.webservices.WebServicesDeployer.prepare(WebServicesDeployer.java:184)
... 53 more
公式サイトからGlassfishの最新バージョンをインストールしました。
いくつかの調査により、トランスポート保証が機密である必要があることを指定するために、glassfish-web.xmlまたはweb.xmlファイルに構成を追加する必要があるかどうか疑問に思いました。ここで概説した構成を試しました。
しかし、それでもWARを展開できませんでした。それを修正する唯一のことは、SSL対応ではない3番目のhttpリスナーを作成することでした。これは予想される動作ですか、それとも私は何か間違ったことをしていますか?
前もって感謝します!