geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dave Horsey <dave.horse...@gmail.com>
Subject Re: Configuring front end host for axis2 web services
Date Tue, 15 Feb 2011 19:03:05 GMT
I may be wrong about this, but I believe cxf defines an endpointURL value
which overrides the default behaviour with respect to wsdl/soap:address.

I did a bit of reading around this a month or two back, and it seemed to be
pretty well documented.

Cheers
Dave

On Tue, Feb 15, 2011 at 8:54 AM, David Jencks <david_jencks@yahoo.com>wrote:

> Sorry for the delay.
>
> We might look at what cxf does in this situation since they certainly have
> more ws experience than I do :-)
>
> I think we should consider configuring geronimo rather than the proxy
> servers.  After discussing this a bit with ashish I think the following
> might work:
>
> define a wsdl rewriting service (gbean for g 2.x) that can be configured
> with the header containing the actual host/port and by default uses the
> httpd X-Forwarded-Host. (if the header isn't present it uses the host from
> the request as at present).
>
> The ws-specific object gets a reference to this service (gbean) and has it
> do the rewriting.
>
> We can presumably use the same code for axis2, cxf (if necessary) and
> axis1.
>
> Comments?
>
> thanks
> david jencks
>
> On Feb 10, 2011, at 10:54 PM, Ashish Jain wrote:
>
> 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 <david_jencks@yahoo.com>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 <ashjain2@gmail.com> 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 <david_jencks@yahoo.com>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 <ashjain2@gmail.com>
>>>> 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
>>>> >>
>>>>
>>>>
>>>
>>
>>
>
>


-- 
Cheers,

Dave

Mime
View raw message