WFS POST requests: "No template provided" error

Frank Steggink Frank.Steggink at BENTLEY.COM
Thu Nov 8 09:16:22 PST 2007


John,

I should probably not respond, but your contribution doesn't seem to be
very helpful either. (At least he made an effort to help.) I'm not
interested in your personal grudges, and that's probably also true for
the rest of the list.

I understood very well what Sean was talking about, and FYI, I basically
agree with his song #1. ( I don't know Python well enough to have an
opinion on that matter, but that's way OT.)

Frank

-----Original Message-----
From: John Smith [mailto:jayzee.smith at gmail.com] 
Sent: Thursday, November 08, 2007 11:37
To: Frank Steggink
Cc: MAPSERVER-USERS at lists.umn.edu
Subject: Re: [UMN_MAPSERVER-USERS] WFS POST requests: "No template
provided" error

frank,
i simply ignore whinners like sean who just have 1 song to sing
(actually 2, the other being how python is somehow not an interpreted
language). back to mapserver...
cheers, jzs

On Nov 8, 2007 10:53 AM, Sean Gillies <sgillies at frii.com> wrote:
> Sorry, I got lost in the XML and HTTP weeds and forget you were using 
> foreign services. Like Daniel said, MapServer has a problem caused by 
> the way it overloads its single service endpoint. You might want to 
> test against a server that gets it right: GeoServer, or MapServer 
> proxied through another script.
>
> Sean
>
> Frank Steggink wrote:
> > Sean (and others),
> >
> > As I said, the servers are not mine. They are public servers on the 
> > internet. I'm just making a client, and care about interoperability,

> > so that's why I posted. (Even with a protocol which is flawed, but 
> > this is what I'm paid for at this moment.)
> >
> > I could try to set up MapServer myself, but since I've no MapServer 
> > experience, it will take quite some time. That's why I was asking 
> > someone else to look at it.
> >
> > About this message, is there any difference in setting MapServer up 
> > to handle GET and POST requests? If the "WFS handler for POST" isn't

> > set up correctly, why isn't this reflected in the Capabilities
document?
> >
> > Frank
> >
> >
> > -----Original Message-----
> > From: Sean Gillies [mailto:sgillies at frii.com]=20
> > Sent: Thursday, November 08, 2007 10:05
> > To: MAPSERVER-USERS at LISTS.UMN.EDU
> > Cc: Frank Steggink
> > Subject: Re: WFS POST requests: "No template provided" error
> >
> > POST is for creating new resource states! Use GET!
> >
> > Oh, wait, wrong list :)
> >
> > That "No template provided" error usually means what it says. Is 
> > your mapfile configed properly? Are you able to render maps from it 
> > using the shp2img utility?
> >
> > Sean
> >
> > Frank Steggink wrote:
> >> Hello List,
> >> =20
> >> While developing a WFS client, I've encountered a problem with 
> >> =3D=20 MapServer. I don't have a local setup of MapServer running, 
> >> but use a=20 =3D few public available services at the web. Those
are:
> >> *    =3D
> >> =
> > http://map.ns.ec.gc.ca/MapServer/mapserv.exe?map=3D3D/mapserver/serv
> > ices
> >> /en=3D
> >> vdat/config.map (MapServer 4.8.3)
> >> *    http://www.bsc-eoc.org/cgi-bin/bsc_ows.asp (MapServer 4.8.1)
> >> =20
> >> Our WFS client supports both GET and POST requests. It checks the 
> >> =3D=20 Capabilities document which HTTP method to use. The document

> >> of the =
> > =3D=20
> >> first service can be found here: =3D=20 =
> > http://map.ns.ec.gc.ca/MapServer/mapserv.exe?map=3D3D/mapserver/serv
> > ices
> >> /en=3D=20
> >> =
> > vdat/config.map&SERVICE=3D3DWFS&VERSION=3D3D1.0.0&REQUEST=3D3DGetCap
> > abili=
> > tie
> >> s&.=3D  GetCapabilities is always done with GET, but other requests

> >> =
> > can=20
> >> vary. =3D For testing purposes I made POST the default HTTP method 
> >> for =
> >
> >> the =3D requests. When I try to do a DescribeFeatureType or a =
> > GetFeature
> >
> >> to =3D these services with POST, I'm getting the following message:
> >> =20
> >> <HTML>
> >> <HEAD><TITLE>MapServer Message</TITLE></HEAD>
> >> <!-- MapServer version 4.8.3 OUTPUT=3D3DGIF OUTPUT=3D3DPNG =
> > OUTPUT=3D3DJPEG =3D
> >
> >> OUTPUT=3D3DWBMP OUTPUT=3D3DPDF OUTPUT=3D3DSWF OUTPUT=3D3DSVG =
> > SUPPORTS=3D3DPROJ =3D
> >
> >> SUPPORTS=3D3DFREETYPE SUPPORTS=3D3DWMS_SERVER 
> >> SUPPORTS=3D3DWMS_CLIENT =
> > =3D=20
> >> SUPPORTS=3D3DWFS_SERVER SUPPORTS=3D3DWFS_CLIENT =
> > SUPPORTS=3D3DWCS_SERVER =3D=20
> >> SUPPORTS=3D3DTHREADS SUPPORTS=3D3DGEOS INPUT=3D3DJPEG =
> > INPUT=3D3DPOSTGIS =3D=20
> >> INPUT=3D3DOGR INPUT=3D3DGDAL INPUT=3D3DSHAPEFILE DEBUG=3D3DMSDEBUG 
> >> --> =
> > <BODY=20
> >> BGCOLOR=3D3D"#FFFFFF">
> >> mapserv(): Web application error. No template provided. <br>=20 
> >> </BODY></HTML> =20 The Capabilites document lists the online 
> >> resource URL's for =3D=20 DescribeFeatureType and GetFeature, so 
> >> POST should be allowed for=20 these =3D WFS requests. I'm sure that

> >> the WFS request is correct, =
> > since=20
> >> it works =3D with other WFS servers, like Geoserver, and Oracle =
> > Spatial=20
> >> Web Services, =3D and I can not find anything that might be wrong 
> >> on =
> > my=20
> >> side. Here is the =3D raw request (headers + post data):
> >> =20
> >> POST /envdat/map.aspx HTTP/1.1
> >> Content-Type: text/xml
> >> Host: map.ns.ec.gc.ca
> >> Content-Length: 579
> >> Expect: 100-continue
> >> Proxy-Connection: Close
> >> =20
> >> <?xml version=3D3D"1.0" encoding=3D3D"iso-8859-1"?> =
> > <DescribeFeatureType=20
> >> version=3D3D"1.0.0" service=3D3D"WFS" =3D=20 
> >> xsi:schemaLocation=3D3D"http://www.opengis.net/wfs =3D=20 
> >> http://schemas.opengis.net/wfs/1.0.0/WFS-basic.xsd" =3D=20 
> >> xmlns=3D3D"http://www.opengis.net/wfs" =3D=20 
> >> xmlns:b=3D3D"http://www.bentley.com/schemas/x-Bentley.XMLTemplate.0
> >> .1" =
> > =3D
> >
> >> xmlns:xsi=3D3D"http://www.w3.org/2001/XMLSchema-instance" =3D=20 
> >> xmlns:ows=3D3D"http://www.opengis.net/ows" =3D=20 
> >> xmlns:xlink=3D3D"http://www.w3.org/1999/xlink" =3D=20 
> >> xmlns:ogc=3D3D"http://www.opengis.net/ogc" =3D=20 
> >> xmlns:xsd=3D3D"http://www.w3.org/2001/XMLSchema">
> >>   <TypeName>wfs:envirodat</TypeName>
> >> </DescribeFeatureType>
> >> =20
> >> While searching the mailing list, I found replies of people 
> >> suggesting
> >
> >> =3D that WFS might not be enabled (MapServer not compiled with 
> >> WFS=20 support), =3D but since WFS requests with GET work fine, 
> >> this is=20 obviously not the =3D case. I also found another 
> >> suggestion here: =3D=20 =
> > http://lists.umn.edu/cgi-bin/wa?S2=3D3DMAPSERVER-USERS&q=3D3Dwfs+pos
> > t+tem=
> > p
> >> lat=3D e&s=3D3D&f=3D3D&a=3D3D&b=3D3D. It is suggested to add the =
> > parameters =3D=20
> >> "service=3D3DWFS" and "version=3D3D1.0.0" to the URL for POST, but 
> >> =
> > this =3D=20
> >> doesn't work either. Maybe I would need to test with a more recent 
> >> =3D =
> >
> >> build, but I couldn't find one at the web. But this would mean that

> >> I=20 =3D have to change the online resource URL, but the correct 
> >> URL cannot =
> >
> >> be =3D predicted. The correct URL to post to should be mentioned in

> >> =
> > the=20
> >> =3D Capabilities document. The second service (www.bsc-eoc.org) =
> > returned
> >
> >> the =3D same reply with the parameters, but the first service (at 
> >> =3D
> >> map.ns.ec.gc.ca) returned this:
> >> =20
> >> <ServiceExceptionReport
> >> xmlns=3D3D"http://www.opengis.net/ogc" =3D=20 
> >> xmlns:xsi=3D3D"http://www.w3.org/2001/XMLSchema-instance" =3D=20 
> >> xsi:schemaLocation=3D3D"http://www.opengis.net/ogc =3D=20 
> >> http://schemas.opengis.net/wms/1.1.1/OGC-exception.xsd">
> >>   <ServiceException>
> >> msWFSDispatch(): WFS server error. Incomplete WFS request: REQUEST 
> >> =3D =
> >
> >> parameter missing
> >>   </ServiceException>
> >> </ServiceExceptionReport>
> >> =20
> >> If I would add the Request parameter, then it would be WFS / GET=20

> >> again, =3D and that's not what I want. (Well, I normally do, but 
> >> this =
> > is
> >
> >> for =3D testing purposes.) I was getting similar responses with=20 
> >> GetFeature, but since I changed my =3D code, the WFS client doesn't

> >> =
> > come
> >
> >> that far (because DescribeFeatureType =3D doesn't work) 
> >> anymore.=3D20 =20 Since there are no problems with GET requests, 
> >> our client can =3D=20 successfully query data. But since POST is 
> >> also available, I would =3D =
> >
> >> expect it to work as well. I hope that someone can look into this. 
> >> If=20 =3D POST really causes problems, it would be better to remove

> >> the=20 associated =3D online resource URL's from the Capabilities
document.
> >> =20
> >> Regards,
> >> =20
> >> Frank Steggink
> >> =3D20
> >> Bentley Systems, Inc.
> >> Software Developer Geospatial
> >> =3D20
> >> 3645, boul. Ste-Anne
> >> Qu=3DE9bec, Qc. G1E 3L1
> >> Canada
> >> =3D20
> >> Tel: +1 418 666 7691 ext. 289
> >> E-mail: frank.steggink at bentley.com
> >> WWW: http://www.bentley.com
> >> =3D20
> >> =20



More information about the MapServer-users mailing list