Hi David, Your bit on configuring the header can be another way. We can use a standard header name for this for example FrontEnd-Proxy-HostPort or may be some other name. HTTP Server provides a directive where custom headers can be appended to the requests. http://httpd.apache.org/docs/current/mod/mod_headers.html#requestheader
I am very much hopeful that other HTTP servers will also provide a way to configure custom headers. So this option is also very much acceptable. Thanks Ashish On Thu, Feb 10, 2011 at 10:44 PM, David Jencks <[email protected]>wrote: > Hi Ashish, > > I was certainly thinking of X-Forwarded-Host. I'm not clear on whether > this header includes the original port. Google hasn't shown me much info on > how other people deal with this problem. I did find > http://httpd.apache.org/docs/current/mod/mod_proxy.html#proxypreservehost > > which appears to indicate you can configure apache httpd to not introduce > this problem in the first place. > > I can see that directly configuring the host would be useful in some > circumstances, but I think it would be easier in more circumstances to be > able to configure the header name for the original host. > > So I guess you are right and directly configuring the host is the best > solution for now. I'll let you know if I can find any more information on > this. > > thanks! > david jencks > > On Feb 10, 2011, at 6:28 AM, Ashish Jain wrote: > > Hi David, > > I am not sure if we can use the request object. The request > (org.apache.geronimo.webservices.WebServiceContainer.Request) object gives > you the address for the remote host which is the address for the proxy > server, however no information on the port. Another way could have been to > utilize the header "request.getHeader("X-Forwarded-Host")" but this is not a > standard header AFAIK. So this option can also to be ruled out. So I think > modifying the schema is the best way ahead. > > Thanks > Ashish > > On Tue, Feb 8, 2011 at 6:34 PM, Ashish Jain <[email protected]> wrote: > >> Thanks David and Jarek. I am investigating on the comment made by David >> and seems to have found some headers which are being appended by HTTP >> server. I will investigate further in this direction to find out if the >> request object can be used to attain this. >> >> Thanks >> Ashish >> >> >> On Tue, Feb 8, 2011 at 1:06 AM, David Jencks <[email protected]>wrote: >> >>> Changing the schema like this shouldn't be a problem if its necessary. >>> I'd like to understand better why its necessary. Perhaps there's another >>> way. >>> >>> I thought that the way this was coded was that the host and port from the >>> incoming request were stuffed into the wsdl being returned. Doesn't the >>> proxy server tell us what the original request was in some way such as a >>> request attribute? Could we look for that information and use it if >>> available and use the request itself if not? >>> >>> thanks >>> david jencks >>> >>> On Feb 7, 2011, at 10:39 AM, Jarek Gawor wrote: >>> >>> > Ashish, >>> > >>> > Modifying the schema (without changing the namespace) is fine as long >>> > as you make the new element(s) optional. That at least is what we have >>> > done in the past. >>> > >>> > Jarek >>> > >>> > On Fri, Jan 28, 2011 at 10:00 AM, Ashish Jain <[email protected]> >>> wrote: >>> >> Hi, >>> >> >>> >> When geronimo is front ended with a proxy say Apache HTTP server and a >>> web >>> >> service is invoked via this proxy. The auto >>> >> generated wsdl will have the soap:address as >>> >> http://<g_host>:<g_port>/service_name. Instead it should be >>> >> http://<proxy_host>: >>> >> <proxy:port>/service_name. The method which takes care of all this is >>> >> org.apache.geronimo.axis2.WSDLQueryHandler.writeResponse >>> >> . The baseUri attribute in the class has to be modified so that >>> appropriate >>> >> soap:address can be written in the wsdl file. >>> >> >>> >> So as to get this property into geronimo one of the way would be to be >>> able >>> >> to specify in geronimo deployment descriptor. >>> >> Adding a new attribute may require schema change. >>> >> >>> >> Is this acceptable? Are there any other alternative ways through which >>> this >>> >> can be achieved? >>> >> >>> >> Thanks >>> >> Ashish >>> >> >>> >>> >> > >
