Error for unsupported services is confusing (bug 2025)
Daniel Morissette
dmorissette at MAPGEARS.COM
Fri Feb 9 10:19:25 EST 2007
Um... tricky one... see my comments below.
Frank Warmerdam wrote:
>
> I would like to modify msOWSDispatch() to report a more specific error
> message if the URL includes the string "SERVICE=" and none of the built
> in dispatchers handles the request. Something along the line of:
>
> "SERVICE '%s' is either not supported by MapServer, or not enabled in
> this MapServer build"
>
> or perhaps even embed specific logic to differentiate between unrecognised
> sevices, and ones which are definately not built-in but could be.
>
> The main drawback to this is if old style URLs might have "SERVICE=...." in
> them in some circumstances, as msOWSDispatch() would never let control get
> past it.
>
Perhaps the best compromise would be to add a test at the end of
msOWSDispatch() to return a meaningful error message if a known service
name was requested but the request was not handled by any of the
dispatch functions (i.e. likely because the specified service was not
compiled in). If service contained any other value (not a recognized
service name) then msOWSDispatch() would return normally and let the
traditional CGI code kick in.
e.g.
for(i=0; i<req->NumParams; i++) {
if (strcasecmp(req->ParamNames[i], "SERVICE") == 0) {
const char *service;
service = req->ParamValues[i];
if (strcasecmp(service, "WMS") != 0 &&
strcasecmp(service, "WFS") != 0 &&
strcasecmp(service, "WCS") != 0 &&
strcasecmp(service, "SOS") != 0 ) {
msSetError(MS_MISCERR, "SERVICE '%s' is either not supported
by MapServer, or not enabled in this MapServer build",
"msOWSDispatch()", service);
return MS_FAILURE;
}
break; /* No need to keep looping */
}
}
> I'm interested in opinions on the best approach to giving more meaningful
> error messages without any undue breakage. I'm also interested in whether
> people think this change belongs in 4.10.x (I'm inclined not too back port
> it).
>
Probably safer to not backport since this is not that critical and there
is a risk of breaking exisiting apps.
My 0.02$
Daniel
--
Daniel Morissette
http://www.mapgears.com/
More information about the mapserver-dev
mailing list