My server is behind firewall and I need published WSDL's soap:address contains
external IP in order to get external client works.
I made configuration changes according to following instructions but it didn't
work in v3.0.1. Could you advise any workaround to get it working?
https://metro.dev.java.net/2.0.1/guide/HTTP_address_in_soap_address_and_import_locations.html
5.10. HTTP address in soap:address and import locations
A service may be hosted in a servlet container that is behind firewall/load
balancer. Then a published WSDL's soap:address, wsdl:import, xsd:import
locations may point to the internal address(not to the external
firewall/loadbalancer address). Metro uses the HttpServletRequest's
getServerName() and getServerPort() to figure out the server's address and port
respectively. This works in many cases, but you may need to configure the
servlet container's server address in some cases.
This is supported in GlassFish, by configuring "server-name" attribute of <http-
listener> in domain.xml. For example, set it to "
http://firewall-host:firewall-
port"
This is supported in Tomcat, by using the "proxyName" and "proxyPort" attributes
on <Connector>. See tomcat configuration
[Message sent by forum member 'surkiz']
http://forums.java.net/jive/thread.jspa?messageID=483851