[ https://issues.apache.org/jira/browse/AXIS2C-410?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Samisa Abeysinghe updated AXIS2C-410: ------------------------------------- Fix Version/s: (was: 1.0.0) This needs more work to fix as we have failed to apply the patch early enough before the svn head regressed so much. Should re-visit in post 1.0 era > custom URL prefixes not allowed > ------------------------------- > > Key: AXIS2C-410 > URL: https://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 > Assigned To: Dinesh Premalal > Attachments: axis2c-410.patch > > > 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. - You can reply to this email to add a comment to the issue online. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]