MapServer / MapServer-import

3 stars 2 forks source link

Attempts to process WFS request without WFS compiled into mapserv generates the following error "Web application error. No template provided" #2025

Open tbonfort opened 12 years ago

tbonfort commented 12 years ago

Reporter: mzanfardino@yahoo.com Date: 2007/02/08 - 22:49

Attempts to process WFS request without WFS compiled into mapserv generates the
following error "Web application error. No template provided"
tbonfort commented 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.
tbonfort commented 12 years ago

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.
tbonfort commented 12 years ago

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. 
tbonfort commented 12 years ago

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.
tbonfort commented 12 years ago

Author: fwarmerdam Date: 2007/02/14 - 00:28

modified msOWSDispatch() to issue an error if a service is requested but is
not compiled in.  
tbonfort commented 12 years ago

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.