Opened 21 years ago

Closed 19 years ago

#417 closed defect (fixed)

WFS Client HOWTO

Reported by: dmorissette Owned by: jmckenna@…
Priority: high Milestone: 4.4 release
Component: WFS Client Version: 4.1
Severity: normal Keywords:
Cc: jdoyon@…

Description

There are a few errors in the WFS Client HOWTO:

1- The title of the document says WFS Server... it should say client.

2- It seems that the following contents that was in the original Wiki page has
been omitted in the HOWTO:

-----------------

You also need to set the IMAGEPATH value in your mapfile since MapServer
uses this directory to store temporary files downloaded from the remote
WFS server:

---------
  MAP
    ...

    WEB
      IMAGEPATH "/tmp/ms_tmp/"
      IMAGEURL ...
    END
    ...
  END
---------



== TODO, Known limitations: ==

- For now MapServer can connect only to remote servers that support the GET
method for GetFeature requests.  Unfortunately some servers such as the ESRI WFS
support only XML-encoded POST requests and we cannot connect to them.

- Temporary WFS (gml) files are written to the IMAGEPATH directory, but this
could become a security concern since it makes the raw GML data downloadable by
someone who could guess the gml filename.  We should consider having a
"wfs_cache_dir" metadata that, if it is set will define a directory where temp
files should be written.  The default would still be to use the value of
IMAGEPATH if "wfs_tmpdir" is not set.
  
- Xerces is an annoying dependency for GML support in OGR.  There have been
discussions about modifying the OGR GML driver to use in internal XML parser by
default.  This would save us from the Xerces dependency. There is no formal plan
for when this would happen yet.

Change History (10)

comment:1 by dmorissette, 20 years ago

Cc: mckenna@… added
Milestone: 4.2 release

comment:2 by dmorissette, 20 years ago

Cc: assefa@… jdoyon@… added; mckenna@… removed
Owner: changed from jdoyon@… to mckenna@…
Reassigned to Jeff.

BTW please check with Assefa to verify that this information is still accurate.

comment:3 by dmorissette, 20 years ago

dependson: 626

comment:4 by assefa, 20 years ago

Things to be added for Mapserver 4.2 release :

  - new metadatas :

    * wfs_request_method : Requests to wfs servers are done by default using the
XML-encoded Post method. This behaviour can be modified to use the Get Request
by setting a metadata at the layer level : "wfs_request_method" GET"

    * wfs_maxfeatures : limit the number of features returened by a GetFeature
request


  - Filter Encoding related additions :

   * The user can set a wfs_filter metadata at the layer level to include a
filter encoding parameter to the getFeature request. The content of the
wfs_filter is a valid filter encoding element. 
Eg :  "wfs_filter" 
"<PropertyIsGreaterThan><PropertyName>POP_RANGE</PropertyName><Literal>4
      </Literal></PropertyIsGreaterThan>"


 There are also some notes in this bug that are not true any more in section ==
TODO, Known limitations: == :

  * first item (Get vs Post request) should be removed
  



comment:5 by dmorissette, 19 years ago

Milestone: 4.2 release4.4 release

comment:6 by dmorissette, 19 years ago

I just noticed that the WFS client howto only shows the old way of specifying
the connection by putting all information in the CONNECTION string. I believe
this method is deprecated and the use of wfs_* metadatas should be encouraged
instead, am I right Assefa?

We'd also need the complete list of metadata that WFS client code expects and
some mapfile examples using them in the document.

comment:7 by assefa, 19 years ago

for wfs layers, the preferred method is the use of the metadatas. Here is a list
of metadata that are used :

  - wfs/ows_version
  - wfs/ows_service
  - wfs/ows_typename
  - wfs/ows_filter : wfs ogc filter
  - wfs/ows_maxfeatures : limit the number of features returned.

 For backward compatibility, version, service and typename are fetched from the
connection string if the metadatas are not available.


comment:8 by assefa, 19 years ago

Forgot a couple of metadata :

  - wfs/ows_request_method : can be set to "GET" to do a Get request for to wfs
servers that do not support post requests. The default metehod in mapserver is Post.

  - wfs/ows_connectiontimeout : (Note that this metadat is first checked at the
layer level and if not available it is checked at the map level)

  - wfs/ows_latlonboundingbox :

comment:9 by jmckenna@…, 19 years ago

Status: newassigned
working on this now

comment:10 by jmckenna@…, 19 years ago

Resolution: fixed
Status: assignedclosed
updated wfs-client-howto to include the new metadata method....and addressed any
other issues in this bug.  Checked new file into main doc CVS..having problems
checking into the 'branch-4-4' CVS.
Note: See TracTickets for help on using tickets.