This is a tangled web that's woven, I suppose, but it really shouldn't be all that hard. Let me see if I can paint the picture:
I have written a web service, starting with a WSDL, which is to run in JBoss. This is all fine and dandy when I run it on my local machine and point my Netbeans "client generator" (probably just using "wsimport" or whatever behind the scenes) at it to generate a client it works as expected. All of this is working by hitting port 8080 directly and the <soap:address>
element looks like so:
<soap:address location="http://localhost:8080/MyoutfitWebService/funService"/>
Now, when this puppy gets deployed, it will be getting requests from IIS forwarded through AJP to, I think, port 8009. IIS handles our client certificate validation and then is supposed to just forward the request to my web service. I can't figure out what to use in my WSDL's <soap:address>
element so that I can give the WSDL URL to someone to generate their own client. If I use:
<soap:address location="https://real.server.com/MyoutfitWebService/funService"/>
when I deploy it and point to the WSDL, the <soap:address>
element is wrecked and looks something like:
<soap:address location="https://127.0.0.1:8443/MyoutfitWebService/funService"/>
Can someone tell me if I need to modify something in jbossws.sar jboss-beans.xml or what?
I'm using JBoss Web Services Native 3.0.4.
Thanks for reading.
Best Answer
I have no idea how to handle this in IIS but i'll write some notes about Apache
I had the same problem and workarounded it using mod_ext module in apache
Your configuration will look like this
So, your "correct" WSDL address will be
which will have correct soap:address,
(I have removed https as I can put only one hyperlink here).
There may be a better way but unfortunately I have no time to do deep investigation. This solution just works (I found it couple of minutes ago and already tested)