0
votes

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:

http://www.java-tips.org/java-ee-tips/java-api-for-xml-web-services/using-jax-ws-based-web-services-wit.html

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!

1

1 Answers

1
votes

Faced the same problem deploying a WAR (having CONFIDENTIAL SSLConstraint in web.xml) to GlassFish Server Open Source Edition 3.1.2.2 (build 5). I had to create a non-https listener to work around the problem.

I think this is not the expected behavior, especially because of the nullpointer exception.