Open tbonfort opened 12 years ago
Author: fwarmerdam Date: 2007/02/08 - 23:18
It is my opinion that MapServer should actually generate an error message
in msOWSDispatch() for requested services that we don't have compiled in.
As things stand it can be quite hard for users to establish why their
WxS request isn't getting handled properly.
Author: tomkralidis Date: 2007/02/09 - 14:25
If possible, I would lean towards being able to decipher whether a service type
is just not supported, or is supported but not compiled in.
As far as old URLs with "service=...", I wonder how many cases there would be
where this was part of the URL and the value of service= was a string which is
an unsupported service type, so I would initially say that I would not back port
this.
Author: fwarmerdam Date: 2007/02/13 - 06:00
This got a bit more complicated than I expected.
It turns out that the functions msWMSDispatch(), msWFSDispatch() and
so forth are always compiled in even if the service is not available, and
these functions issue an appropriate error in that case.
So I modified msOWSDispatch() to actually call them unconditionally.
However, for mapserv.c to know whether it was supposed to report the error
to stdout I had to modify all the OWS services exception methods to
clear the error stack after issuing exceptions. An error still left
on the stack after msOWSDispatch() returns gets reported by mapserv.c
now.
This is a sort of risky change! We never used to require the exceptions
functions to clear the error stack, so I am worried there could be
some sort of surprising side effect. I'm not quite sure what though.
Files affected: mapserv.c, mapows.c, mapwfs.c, mapwms.c, mapwcs.c, mapogcsos.c
Changes only in development head ... way to risky to backport.
Author: fwarmerdam Date: 2007/02/13 - 18:03
OK, serious issues with changes. It turns out functions like
msSOSDispatch() always issue the error if they are not configured in.
I have backed out the change in mapows.c for now. I will revisit this
issue and try to come up with a proper fix.
Author: fwarmerdam Date: 2007/02/14 - 00:28
modified msOWSDispatch() to issue an error if a service is requested but is
not compiled in.
Author: dmorissette Date: 2008/03/13 - 19:24 The fix for this committed in ee515cb9597e13f7a3e716024bae77f42982fe94 (r5911) was reading the VERSION parameter instead of SERVICE.
Fixed in 9054e5f4f76c7a3657d7173b82ccaa5ede39153b (r7450) in trunk for 5.2.
Reporter: mzanfardino@yahoo.com Date: 2007/02/08 - 22:49