[mapserver-users] WFS GetFeature on Mapserver doesn't work

Rahkonen Jukka Jukka.Rahkonen at mmmtike.fi
Thu Apr 15 03:08:54 EDT 2010


Hi,

Your GetCapabilities says:

</Capability>
−
<FeatureTypeList>
−
<Operations>
<Query/>
</Operations>
</FeatureTypeList>

Conclusion: feature type list is empty, so it does not make sense to continue to GetFeature before the layer settings are corrected and the layer appears in the GetCapabilities.  Now, have a look at document http://mapserver.org/ogc/wfs_server.html and compare your mapfile with it. Most obvious reason for your failure is that your layer is missing DUMP TRUE.

-Jukka Rahkonen-

sunny74 wrote:

 
> Dear Friends,
> 
> I am trying to get WFS working on Mapserver but both 
> Getcapabilities and
> GetFeature are giving me errors.
> 
> I am firing the following urls directly in the browser:
> 
> Getcapabilities(map from DB )
> 
> http://localhost:81/cgi-bin/mapserv.exe?map=d:/Delhi1_wfs_post
gres.map&SERVICE=WFS&VERSION=1.0.0&&REQUEST=GETcapabilities
> 
> GetFeature
> 
> http://localhost:81/cgi-bin/mapserv.exe?map=d:/Delhi1_wfs_post
gres.map&SERVICE=WFS&VERSION=1.0.0&REQUEST=GETfeature
> &typename=delhi_district
> 
> delhi_district is the name of my table in the postgres DB.
> 
> The o/p from Getcapabilities is:
> 
> <WFS_Capabilities version="1.0.0" updateSequence="0"
> xsi:schemaLocation="http://www.opengis.net/wfs
> http://schemas.opengis.net/wfs/1.0.0/WFS-capabilities.xsd">
>> <!--
>  MapServer version 5.2.1 OUTPUT=GIF OUTPUT=PNG OUTPUT=JPEG OUTPUT=WBMP
> OUTPUT=PDF OUTPUT=SWF OUTPUT=SVG SUPPORTS=PROJ SUPPORTS=AGG
> SUPPORTS=FREETYPE SUPPORTS=ICONV SUPPORTS=FRIBIDI SUPPORTS=WMS_SERVER
> SUPPORTS=WMS_CLIENT SUPPORTS=WFS_SERVER SUPPORTS=WFS_CLIENT
> SUPPORTS=WCS_SERVER SUPPORTS=SOS_SERVER SUPPORTS=FASTCGI 
> SUPPORTS=THREADS
> SUPPORTS=GEOS SUPPORTS=RGBA_PNG INPUT=JPEG INPUT=POSTGIS INPUT=OGR
> INPUT=GDAL INPUT=SHAPEFILE 
> -->
>> <Service>
> <Name>MapServer WFS</Name>
> <Title>GMap WFS Demo Server</Title>
>> <OnlineResource>
> http://localhost:81/cgi-bin/mapserv.exe?map=d:/Delhi1_wfs_post
gres.map&
> </OnlineResource>
> </Service>
>> <Capability>
>> <Request>
>> <GetCapabilities>
>> <DCPType>
>> <HTTP>
> <Get
> onlineResource="http://localhost:81/cgi-bin/mapserv.exe?map=d:
/Delhi1_wfs_postgres.map&"/>
> </HTTP>
> </DCPType>
>> <DCPType>
>> <HTTP>
> <Post
> onlineResource="http://localhost:81/cgi-bin/mapserv.exe?map=d:
/Delhi1_wfs_postgres.map&"/>
> </HTTP>
> </DCPType>
> </GetCapabilities>
>> <DescribeFeatureType>
>> <SchemaDescriptionLanguage>
> <XMLSCHEMA/>
> </SchemaDescriptionLanguage>
>> <DCPType>
>> <HTTP>
> <Get
> onlineResource="http://localhost:81/cgi-bin/mapserv.exe?map=d:
/Delhi1_wfs_postgres.map&"/>
> </HTTP>
> </DCPType>
>> <DCPType>
>> <HTTP>
> <Post
> onlineResource="http://localhost:81/cgi-bin/mapserv.exe?map=d:
/Delhi1_wfs_postgres.map&"/>
> </HTTP>
> </DCPType>
> </DescribeFeatureType>
>> <GetFeature>
>> <ResultFormat>
> <GML2/>
> </ResultFormat>
>> <DCPType>
>> <HTTP>
> <Get
> onlineResource="http://localhost:81/cgi-bin/mapserv.exe?map=d:
/Delhi1_wfs_postgres.map&"/>
> </HTTP>
> </DCPType>
>> <DCPType>
>> <HTTP>
> <Post
> onlineResource="http://localhost:81/cgi-bin/mapserv.exe?map=d:
/Delhi1_wfs_postgres.map&"/>
> </HTTP>
> </DCPType>
> </GetFeature>
> </Request>
> </Capability>
>> <FeatureTypeList>
>> <Operations>
> <Query/>
> </Operations>
> </FeatureTypeList>
>> <ogc:Filter_Capabilities>
>> <ogc:Spatial_Capabilities>
>> <ogc:Spatial_Operators>
> <ogc:Equals/>
> <ogc:Disjoint/>
> <ogc:Touches/>
> <ogc:Within/>
> <ogc:Overlaps/>
> <ogc:Crosses/>
> <ogc:Intersect/>
> <ogc:Contains/>
> <ogc:DWithin/>
> <ogc:BBOX/>
> </ogc:Spatial_Operators>
> </ogc:Spatial_Capabilities>
>> <ogc:Scalar_Capabilities>
> <ogc:Logical_Operators/>
>> <ogc:Comparison_Operators>
> <ogc:Simple_Comparisons/>
> <ogc:Like/>
> <ogc:Between/>
> </ogc:Comparison_Operators>
> </ogc:Scalar_Capabilities>
> </ogc:Filter_Capabilities>
> </WFS_Capabilities>
> 
> The o/p from GetFeature is:
> 
> <ServiceExceptionReport version="1.2.0"
> xsi:schemaLocation="http://www.opengis.net/ogc
> http://schemas.opengis.net/wfs/1.0.0/OGC-exception.xsd">
>> <ServiceException code="InvalidParameterValue" locator="typename">
> 
> msWFSGetFeature(): WFS server error. TYPENAME 
> 'delhi_district' doesn't exist
> in this server.  Please check the capabilities and 
> reformulate your request.
>   
> </ServiceException>
> </ServiceExceptionReport>
> 
> So none of the outputs are proper
> 
> My map File is as below:
> 
> # Map file created from QGIS project file D:/QGIS
> 1.3/projects/delhi_trial.qqs.qgs
> # Edit this file to customize for your map interface
> # (Created with PyQgis MapServer Export plugin)
> MAP
>   NAME Delhi1_postgres.map
>   # Map image size
>   SIZE 600 600
>   UNITS dd
>   SYMBOLSET 'C:\ms4w\Apache\htdocs\Delhi\Symbols.txt'
>   FONTSET 'C:\ms4w\Apache\htdocs\Delhi\fonts.txt'
>   EXTENT 76.507859 27.613907 78.439621 28.941223
>   CONFIG "PROJ_LIB" "C:\ms4w\proj\nad"
>   PROJECTION
>     'proj=longlat'
>     'ellps=WGS84'
>     'datum=WGS84'
>     'no_defs'
>   END
> 
>   # Background color for the map canvas -- change as desired
>   IMAGECOLOR 192 192 192
>   IMAGEQUALITY 95
>   IMAGETYPE png
>   OUTPUTFORMAT
>     NAME png
>     DRIVER 'GD/PNG'
>     MIMETYPE 'image/png'
>     #IMAGEMODE PC256
>     EXTENSION 'png'
>   END
>   # Legend
>   LEGEND
>       IMAGECOLOR 255 255 255
>     STATUS ON
>     KEYSIZE 18 12
>     LABEL
>       TYPE BITMAP
>       SIZE MEDIUM
>       COLOR 0 0 89
>     END
>   END
> 
>   # Web interface definition. Only the template parameter
>   # is required to display a map. See MapServer documentation
>   WEB
>     # Set IMAGEPATH to the path where MapServer should
>     # write its output.
>     IMAGEPATH '/tmp/'
> 
>     # Set IMAGEURL to the url that points to IMAGEPATH
>     # as defined in your web server configuration
>     IMAGEURL '/tmp/'
> 
>     # WMS server settings
>     METADATA
>     "wfs_title"            "GMap WFS Demo Server"  ## REQUIRED
>     "wfs_onlineresource"  
> "http://localhost:81/cgi-bin/mapserv.exe?map=d:/Delhi1_wfs_pos
tgres.map"  ##
> Recommended
>     "wfs_srs"               "EPSG:42304 EPSG:42101 EPSG:4269 
> EPSG:4326"  ##
> Recommended
>     "wfs_request_method"    "GET"
>      'queryable'          'true'
>      "wfs_feature_info_mime_type" "gml"
>     END
> 
>     #Scale range at which web interface will operate
>     # Template and header/footer settings
>     # Only the template parameter is required to display a map. See
> MapServer documentation
>   END
> 
>   LAYER
>     CONNECTIONTYPE postgis
> 		CONNECTION "host=localhost dbname=DelhiDB 
> user=postgres password=postgres
> port=5432"
> 		DATA "the_geom FROM delhi_district as foo USING 
> UNIQUE gid USING
> SRID=4326"
> 
>     NAME 'delhi_district'
>     TYPE POLYGON
>     LABELITEM "polygon_nm"
>     CLASSITEM "polygon_nm"
>      METADATA
>         "wfs_title"    "WFS Map" ## REQUIRED
>         "wfs_version" "1.0.0"
>         "wfs_srs" "EPSG:4326"
>         "wfs_typename" "delhi_district"
>         "wfs_service" "WFS"
>         "gml_featureid" "gid"
>      END
>     
>     STATUS DEFAULT
>     HEADER   ../templates/Demo_header.html
>     TEMPLATE ../templates/Demo_query_body1.html
>     FOOTER ../templates/Demo_footer.html
>     
>     TRANSPARENCY 100
>     PROJECTION
>     'proj=longlat'
>     'ellps=WGS84'
>     'datum=WGS84'
>     'no_defs'
>     END
>     CLASS
>        EXPRESSION 'Ghaziabad' 
>        NAME 'Ghaziabad' 
>        GROUP 'Ghaziabad'
>        STYLE
>          SYMBOL "quadrat" 
>          SIZE 2 
>          OUTLINECOLOR 0 0 0
>          COLOR 255 0 127
>        END
>     END
>     CLASS
>        EXPRESSION 'Gautam Buddha Nagar' 
>        NAME 'Gautam Buddha Nagar' 
>        GROUP 'Gautam Buddha Nagar'
>        STYLE
>          SYMBOL "quadrat" 
>          SIZE 2 
>          OUTLINECOLOR 0 0 0
>          COLOR 0 0 255
>        END
>     END
> 
>     CLASS
>        EXPRESSION 'North West' 
>        NAME 'North West' 
>        GROUP 'North West'
>        STYLE
>          SYMBOL "quadrat" 
>          SIZE 2 
>          OUTLINECOLOR 0 0 0
>          COLOR 255 0 255
>        END
>     END
>     CLASS
>        EXPRESSION 'South West' 
>        NAME 'South West' 
>        GROUP 'South West'
>        STYLE
>          SYMBOL "quadrat" 
>          SIZE 2 
>          OUTLINECOLOR 0 0 0
>          COLOR 255 170 0
>        END
>     END
>     CLASS
>        EXPRESSION 'West' 
>        NAME 'West' 
>        GROUP 'West'
>        STYLE
>          SYMBOL "quadrat" 
>          SIZE 2 
>          OUTLINECOLOR 0 0 0
>          COLOR 85 170 255
>        END
>     END
>     CLASS
>        EXPRESSION 'New Delhi' 
>        NAME 'New Delhi' 
>        GROUP 'New Delhi'
>        STYLE
>          SYMBOL "quadrat" 
>          SIZE 2 
>          OUTLINECOLOR 0 0 0
>          COLOR 170 170 0
>        END
>     END
>     CLASS
>        EXPRESSION 'East' 
>        NAME 'East' 
>        GROUP 'East'
>        STYLE
>          SYMBOL "quadrat" 
>          SIZE 2 
>          OUTLINECOLOR 0 0 0
>          COLOR 170 85 255
>        END
>     END
>     CLASS
>        EXPRESSION 'North East' 
>        NAME 'North East' 
>        GROUP 'North East'
>        STYLE
>          SYMBOL "quadrat" 
>          SIZE 2 
>          OUTLINECOLOR 0 0 0
>          COLOR 127 255 185
>        END
>     END
>     CLASS
>        EXPRESSION 'North' 
>        NAME 'North' 
>        GROUP 'North'
>        STYLE
>          SYMBOL "quadrat" 
>          SIZE 2 
>          OUTLINECOLOR 0 0 0
>          COLOR 170 0 0
>        END
>     END
>     CLASS
>        EXPRESSION 'South' 
>        NAME 'South' 
>        GROUP 'South'
>        STYLE
>          SYMBOL "quadrat" 
>          SIZE 2 
>          OUTLINECOLOR 0 0 0
>          COLOR 255 170 0
>        END
>     END
>     CLASS
>        EXPRESSION 'Faridabad' 
>        NAME 'Faridabad' 
>        GROUP 'Faridabad'
>        STYLE
>          SYMBOL "quadrat" 
>          SIZE 2 
>          OUTLINECOLOR 0 0 0
>          COLOR 0 170 255
>        END
>     END
>     CLASS
>        EXPRESSION 'Gurgaon' 
>        NAME 'Gurgaon' 
>        GROUP 'Gurgaon'
>        STYLE
>          SYMBOL "quadrat" 
>          SIZE 2 
>          OUTLINECOLOR 0 0 0
>          COLOR 0 255 170
>        END
>     END
> END
> END
> 
> Why doesn't it work?
> 
> Once this gets working I can invoke it using OL script.
> 
> Thanks for your attention and efforts.
> 
> -- 
> View this message in context: 
> http://n2.nabble.com/WFS-GetFeature-on-Mapserver-doesn-t-work-
> tp4905757p4905757.html
> Sent from the Mapserver - User mailing list archive at Nabble.com.
> _______________________________________________
> mapserver-users mailing list
> mapserver-users at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/mapserver-users
> 


More information about the mapserver-users mailing list