[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