If it would help, any Java clients could use the
ENDPOINT_ADDRESS_PROPERTY to change the address[1], as well as modify a
local copy of the WSDL with the correct address and generate the JAX-WS
artifacts (or otherwise make SOAP calls) using that modified version.
Glen
[1] http://www.jroller.com/gmazza/entry/soap_client_tutorial
On 1/10/2011 4:02 PM, Jim Talbut wrote:
Hi,
Some of our web services are accessed from both inside and outside our
firewall.
And they are accessed by stupid clients that insist on believing the
soap address from the WSDL file.
So I like autoRewriteSoapAddress.
Unfortunately some of our external web services have to be accessed
over HTTPS, and that is terminated at our load balancer.
So the request for the wsdl file is seen as being http, but I need the
address in the WSDL file to be https.
I can't see any standard way for a java servlet to know that the
original request was over https - given that the request it sees isn't.
Our load balancer does add a few HTTP headers to the request, so if I
could hook the WSDL response with my own code I could set the location
correctly - but is that possible?
I think I'm stuck with declaring two CXF endpoints, an external one
with a published URL and an internal one with autoRewriteSoapAddress.
Anyone got any better ideas?
Thanks.
Jim