Thank you very much for pointing out the native WFS capability. I moved away from it in the past because OGR has a broader spectrum of WFS versions supported and I sort of adopted this for all of my WFS client connections after the native one failed me in the past. But I see in the capabilities that on this server it should work so I guess I should give it a try.
Best
Lars
Am 27.05.21 um 21:36 schrieb Daniel
Morissette:
Since you use CONNECTIONTYPE OGR, none of the MapServer WFS Client logic takes place. Is there any reason why you cannot use CONNECTIONTYPE WFS as documented here:
https://mapserver.org/ogc/wfs_client.html
On 2021-05-27 02:51, Lars Fricke wrote:
Dear All,
as this list is a source of much deeper insight than I have into Mapserver, I would like to ask about a very strange issue I am facing.
I am calling on a public WFS server I can query "by hand" fast and successfully every single time. Now I defined a Mapserver layer (see below) as an OGR layer in my WFS map-file and it does - on the same call - return data. But not reliably, more at random. I played with the connection-timeout and the maxfeatures and it seemed to have some influence but again, not reliably. I'll post the relevant parts of my mapfile (all my other layers with other sources are working fine):
"""
MAP
NAME "WFS_Test"
SHAPEPATH "/data"
STATUS ON
UNITS METERS
EXTENT -2851663 2776500 5630523 9970363
PROJECTION
"init=epsg:3857"
END # PROJECTION
WEB
FOOTER "TestServer"
IMAGEPATH "/tmp/"
TEMPPATH "/tmp/"
IMAGEURL "/tmp/"
METADATA
"wfs_title" "Test"
"ows_onlineresource" "http://my_server.de/cgi-bin/mapserv?map=/var/www/html/wfs.map"
"ows_enable_request" "*"
"ows_srs" "EPSG:3857 EPSG:4326 EPSG:25832"
"wfs_srs" "EPSG:3857 EPSG:4326 EPSG:25832"
"wfs_getfeature_formatlist" "jsonp,ogrgml"
"wfs_encoding" "UTF-8"
"wfs_connectiontimeout" "20"
#"wfs_request_method" "GET"
END # METADATA
VALIDATION
callback ".*"
END
END # WEB
OUTPUTFORMAT
NAME "jsonp"
DRIVER "OGR/GEOJSON"
MIMETYPE "application/json; subtype=geojson; charset=utf-8"
FORMATOPTION "STORAGE=stream"
FORMATOPTION "FORM=SIMPLE"
FORMATOPTION "LCO:COORDINATE_PRECISION=10"
FORMATOPTION "JSONP=%callback%"
END
OUTPUTFORMAT
NAME "OGRGML"
DRIVER "OGR/GML"
FORMATOPTION "STORAGE=filesystem"
FORMATOPTION "FORM=multipart"
FORMATOPTION "FILENAME=result.gml"
END
SYMBOL
NAME "circle_filled"
TYPE ELLIPSE
FILLED TRUE
POINTS
1 1
END
END
LAYER
NAME "TestLayer"
CONNECTION "wfs-request-testlayer.xml"
EXTENT 84710 5210905 1163008 6125425
CONNECTIONTYPE OGR
STATUS ON
DATA "dop"
METADATA
"wfs_version" "2.0.0"
"wfs_title" "TestLayer_WFS"
"wfs_connectiontimeout" "100"
"wfs_typename" "TestLayer_WFS_int"
"wfs_maxfeatures" "600"
END # METADATA
PROJECTION
"init=epsg:25832"
END # PROJECTION
TYPE POLYGON
CLASS
NAME "aerial_image_footprint"
STYLE
OUTLINECOLOR 255 0 0
WIDTH 0.7
END # STYLE
END # CLASS
END # LAYER
"""
I made the xml-file wit ogrinfo as I did for many other layers that work.
The call is:
"""
http://localhost:8181/cgi-bin/mapserv?map=/var/www/html/wfs.map&
SERVICE=WFS&VERSION=2.0.0&REQUEST=GetFeature&SRSNAME=EPSG:3857&BBOX=1292610.86313433,6822730.62911591,1293128.57472490,6823169.70765144&TYPENAME=TestLayer
"""
If I replace the Server name with the public server, it works like a breeze (even it is 3857).
The public server has:
"""
<DefaultCRS>urn:ogc:def:crs:EPSG:6.9:25832</DefaultCRS>
<OtherSRS>urn:ogc:def:crs:EPSG:6.9:4326</OtherSRS>
"""
I see the following response in the browser:
"""
<wfs:FeatureCollectionxmlns:ms="http://mapserver.gis.umn.edu/mapserver"xmlns:gml="http://www.opengis.net/gml/3.2"xmlns:wfs="http://www.opengis.net/wfs/2.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://mapserver.gis.umn.edu/mapserver http://wfs/cgi-bin/mapserv?map=/var/www/html/wfs.map&SERVICE=WFS&VERSION=2.0.0&REQUEST=DescribeFeatureType&TYPENAME=DOP_AGE_DE&OUTPUTFORMAT=application%2Fgml%2Bxml%3B%20version%3D3.2 http://www.opengis.net/wfs/2.0 http://schemas.opengis.net/wfs/2.0/wfs.xsd http://www.opengis.net/gml/3.2 http://schemas.opengis.net/gml/3.2.1/gml.xsd"timeStamp="2021-05-27T06:30:38"numberMatched="0"numberReturned="0"></wfs:FeatureCollection>
"""
And in the log:
"""
[warn] [pid 26] mod_fcgid: stderr: msQueryByRect(): Search returned no results. No matching record(s) found.
[warn] [pid 26] mod_fcgid: stderr: freeLayer(): freeing layer at 0x131f120.
3169463 - 172.17.0.1 - - [27/May/2021:06:30:35 +0000] "GET /cgi-bin/mapserv?map=/var/www/html/wfs.map&SERVICE=WFS&VERSION=2.0.0&REQUEST=GetFeature&SRSNAME=EPSG:3857&BBOX=1292610.86313433,6822730.62911591,1293128.57472490,6823169.70765144&TYPENAME=TestLayer HTTP/1.1" 200 793 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36"
330 - 172.17.0.1 - - [27/May/2021:06:30:38 +0000] "GET /favicon.ico HTTP/1.1" 200 414 "http://localhost:8181/cgi-bin/mapserv?map=/var/www/html/wfs.map&SERVICE=WFS&VERSION=2.0.0&REQUEST=GetFeature&SRSNAME=EPSG:3857&BBOX=1292610.86313433,6822730.62911591,1293128.57472490,6823169.70765144&TYPENAME=TestLayer" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36"
"""
I will be grateful for any clue on what is going on. Thank you for your trouble!
Best
Lars
SkenData Email Signatur
_______________________________________________
mapserver-users mailing list
[email protected]
https://lists.osgeo.org/mailman/listinfo/mapserver-users
_______________________________________________ mapserver-users mailing list [email protected] https://lists.osgeo.org/mailman/listinfo/mapserver-users
