users@glassfish.java.net

Glassfish web service access via SSL and a cluster?

From: <glassfish_at_javadesktop.org>
Date: Wed, 02 Sep 2009 15:46:28 PDT

We are running Glassfish v2.1 b60e on a linux server.

We have a web service that we have defined to only be accessible via SSL (transport-guarantee = CONFIDENTIAL).

Here are contents of the sun-ejb-jar.xml file:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sun-ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Application Server 9.0 EJB 3.0//EN" "http://www.sun.com/software/appserver/dtds/sun-ejb-jar_3_0-0.dtd">
<sun-ejb-jar>
      <enterprise-beans>
            <ejb>
                  <ejb-name>TestWS</ejb-name>
                  <webservice-endpoint>
                        <port-component-name>TestWS</port-component-name>
                        <login-config>
                              <auth-method>BASIC</auth-method>
                              <realm>test-realm</realm>
                        </login-config>
                        <transport-guarantee>CONFIDENTIAL</transport-guarantee>
                  </webservice-endpoint>
                </ejb>
        </enterprise-beans>
</sun-ejb-jar>

We can successfully access the WSDL of the web service via url:

"https://server.hostname.com:8181/TestWS?WSDL"

This works fine for a stand alone (developer) glassfish installation.

Our "production" configuration has glassfish in a cluster configuration with sjsws web server (front end). When you try to access the web service WSDL it comes back with a "blank" screen (browser). Before changing the transport-guarantee to CONFIDENTIAL, the cluster configuration would respond to a http request for the WSDL but the soap:address value would come back invalid as "http://server.hostname.com:443/TestWS".

I cannot find anything different we should be doing for deploying the web service in a clustered environment.

The glassfish enterprise server admin facility (Common Tasks > Web Services > TestWS) also lists the incorrect URL for the WSDL for this web service (developer or cluster). The URL is present in my developer configuration is "http://server.hostname.com:8080/TestWS?wsdl" which does not work since the web service is setup to use SSL transport level security. This is a secondary issue (admin page URL being correct - but may be a symptom of the overall issue).

Any suggestions?
[Message sent by forum member 'rballer' (rballer_at_seecontrol.com)]

http://forums.java.net/jive/thread.jspa?messageID=362764