I am having an issue deploying a Java WAR to Glassfish 3.1.2 build 5. I want to rule out whether this could be related to a configuration mistake or omission.
I had a web app deployed to Glassfish that was working perfectly fine until I changed one of the http-listeners. Before then, I hadn't changed either of the default listener (http-listener-1 for non-secure, http-listener-2 for secure) except to change the certificate nickname under http-listener-2's SSL settings.
The problem started when I changed my http-listener-1 to also use security. I wanted to use a different certificate on that listener. But once I enabled SSL for all active listeners, I found I could no longer deploy my WAR to Glassfish. I would get the following errors in 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
I have already installed the latest version of Glassfish from the official website.
Some research made me wonder whether I need to add some config to my glassfish-web.xml or web.xml file, to specify that the transport-guarantee must be CONFIDENTIAL. I tried the configurations outlined here:
But I still could not deploy my WAR. The only thing that would fix it was to create a third http-listener that is not SSL-enabled. Is this expected behavior or am I doing something wrong?
Thanks in advance!