custom URL prefixes not allowed
-------------------------------

                 Key: AXIS2C-410
                 URL: http://issues.apache.org/jira/browse/AXIS2C-410
             Project: Axis2-C
          Issue Type: Bug
          Components: core/context, core/engine, util
    Affects Versions: 0.95
            Reporter: Chris Darroch


In AXIS2C-380 I mentioned that although Apache httpd and mod_axis2 allow you to
customize the URL location where Web Services will be provided, in Axis2/C 
itself
this URL prefix is hard-coded.  For example, with mod_axis2 you might do, in 
httpd.conf:

    <Location /my/services/here>
        SetHandler axis2_module
    </Location>

There are several problems here.  The main one is that several files in 
modules/core/engine
call the single function in util/src/utils.c and to "parse" the request's URL.  
However, this
function just scans for the hard-coded string "/services" -- so it's going to 
fail in this case
because the "/services" in httpd's <Location> will match "too early".  If the 
<Location> is
something like /foo, it won't match at all.

Also, even if the <Location> is for /axis2/services, if the incoming request is 
for the URL
/axis2//services//foo//bar, the extra slashes mean it won't match.

The attached patch attempts to take care of all these issues by centralizing a 
lot of the
parse code into modules/core/context/msg_ctx.c and by rewriting 
util/src/utils.c to use
the axis2_uri_t functions.  A new parameter in axis2.xml is introduced, 
"requestURLPrefix",
which the administrator should set to whatever matches their httpd <Location>.

This still isn't ideal because really we should match against only what is in 
the
<Location> directive, and if multiple <Location>s were defined with the 
axis2_module
handler, they should all work.  Having just a single matching parameter in 
axis2.xml
won't fix this.  But, it's a start, I think, and if someone can improve it, go 
for it!  Thanks!

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to