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 <[EMAIL PROTECTED]> 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:[EMAIL PROTECTED] > > Sent: Thursday, November 08, 2007 10:05 > > To: MAPSERVER-USERS@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/services > >> /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/services > >> /en=3D=20 > >> = > > vdat/config.map&SERVICE=3D3DWFS&VERSION=3D3D1.0.0&REQUEST=3D3DGetCapabili= > > 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+post+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: [EMAIL PROTECTED] > >> WWW: http://www.bentley.com > >> =3D20 > >> =20