users@glassfish.java.net

Deployment of webservices to glassfish server located behind apache2 webser

From: <glassfish_at_javadesktop.org>
Date: Wed, 12 Sep 2007 09:58:31 PDT

Hi, i'm using glassfish-v2-b50g behind apache webserver with mod_jk.

I have disabled all the listeners on the glassfish server except the admin listener on port 4848, so the only way to access the glassfish server from outside is through my apache server on port 443 and then through mod_jk to port 8009 on my glassfish server.

When i deploy a webservice to my glassfish server through the admin web page then the admin web says that the location of the wsdl file is said to be on http://the_glassfisserver:8080/contextroot/WebService?wsdl

which is not accessible because i turned of the listener for the port 8080 and also i don't wan't to give people access directly to my glassfish server, the only access people will have is through my apache server on port 443.

So if i try to access this through my apache webserver like this:
https://apache.server/webservices/contextroot/WebService?wsdl

then i can access the wsdl information through browser, but in the wsdl i get both the soap:address location in the form http://glassfishserver:8080/webservices/contextroot/WebService
and i also get the schemaLocation in the import namespace element on the same format: http://glassfishserver:8080/webservices/contextroot/WebService



So now comes the questions:

1 What is the best way to make the wsdl and webservice available through the https on my apache webserver ?

2. And how can i configure the schema location and soap:address location to be through my apache webserver on port 443 instead directly to port 8080 on my glassfish server ?

PS.
the only way i have been able to make this work is by changing the wsdl file generated on the glassfish server after deployment by hand and i don't belive that is the correct way or is it ?

Regards, Sverrir
[Message sent by forum member 'sverrir' (sverrir)]

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