[jboss-user] [JBossWS] - Re: replacement of REPLACE_WITH_ACTUAL_URL when using annota
will.tatam
do-not-reply at jboss.com
Tue Nov 11 14:15:12 EST 2008
please read http://www.jboss.org/community/docs/DOC-12519 as this is basically the same problem as that of the creation of RMI stubs
This document details the use of these attributes to ensure that jndi returns the correct url for rmi invocations, just in the same way as the wsdl needs to return the correct url for soap invocations
-Djava.rmi.server.hostname=<external_host_name>
-Djava.rmi.server.useLocalHostname=true
In both cases, you are making a call to a given address, which is then forwarded on the the real jboss server, which is on a different address. When jboss is then creating anything that gives any kind or addressing details, by default it guesses it should use it's own address as it's unaware of the publicly accessible address.
The comment about HTTP 1.1 is that jboss should never be guessing the value for url in the first place. when the call for the WSDL is made, the HTTP connection provides the hostname as well as the filepath that was requested, this can then be used to build the response.
i,e
Current model
https://${webServiceHost}:${webServiceSecurePort}/${path.to.sevice}
where webServiceHost and webServiceSecurePort are hard coced values in WSServerConfig
Ideal Model
https://${http.request.hostname}:${http.request.port}/${path.to.sevice}
where the http.request values are populated based on the HTTP headers as part of the call for the WSDL
e.g
if I call https://myserver1.cust1,example.com:8443/myservice?wsl then the soap location should come back as https://myserver1.cust1,example.com:8443/myservice
if i have a dns record so that soap.example.com resolves to a http load balancer the if i call https://soap.example.com/myservice?wsdl then i get back a location of https://soap.example.com/myservice no matter whether it goes to myserver1.cust1,example.com, myserver2.cust1,example.com or even myserver9.cust4,example.com
As i say, this is the ideal. I would be happy with the old method whereby i hard-code the <soap:address location=''/> within the automatically created WSDL
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4188573#4188573
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4188573
More information about the jboss-user
mailing list