following your advice I changed my setup as follows:
"""
LAYER
NAME "TestLayer"
CONNECTION "<external-url>?"
EXTENT -47443 5145172 1187852 6158846
CONNECTIONTYPE WFS
STATUS ON
DEBUG 5
METADATA
"wfs_typename" "info:dop"
"wfs_request_method" "GET"
"wfs_version" "1.0.0"
"wfs_srs" "EPSG:25832"
"wfs_title" "dop"
"wfs_connectiontimeout" "60"
"wfs_maxfeatures" "500"
"gml_include_items" "all"
"gml_featureid" "ID"
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
"""
What shall I say, it does not work. The strange things I am noticing are as follows:
1) If I make a call with a bbox in EPSG: 3857 Mapserver first sends my map-extent as bbox to the external server as EPSG:3857, not using the layers extent that is in EPSG:25832 as is the source server. However , it does not send the srs to the external server:
"""
REQUEST=GetFeature&VERSION=1.0.0&SERVICE=WFS&TYPENAME=info:dop&BBOX=-3161903.14172725,2675231.21277502,4977362.15235668,7973075.36166411&MAXFEATURES=500
"""
2) Besides the wrong srs, since the map extent is used instead of the bbox in my request, I obviously would end up by getting some 500 objects back that may or may not be in my bbox. I verified this by putting the correct srs into the CONNECTION (I think this is deprecated).
Now I also checked the Mapserver Version is 7.4 and I am basing on this repo:
https://github.com/camptocamp/docker-mapserver/tree/7.4
Is this Version too outdated (sorry for not mentioning the version)? I do not have any issues with my other WFS layers based on OGR connection ( I need WFS beyond 1.0.0)
Just in case it matters, the external server I am calling is public so I might as well name it:
"http://sg.geodatenzentrum.de/wfs_info?"
The layer is "info:dop"
Thanks for all your help.
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
mapserver-users@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/mapserver-users
_______________________________________________ mapserver-users mailing list mapserver-users@lists.osgeo.org https://lists.osgeo.org/mailman/listinfo/mapserver-users