A load of GPS tracks (stored in PostGIS) on one machine, and i wanted to allow people to make annotations over the top of them on another machine. Enough of this moving SQL dumps about; i'll start using the Web Feature Service, WFS, to share data between my mapserver installations.
To connect as a WFS client from mapserver, i added a layer in the mapfile with the following extr properties:
layer ... connectiontype WFS connection "http://locative.us/freemap/map.cgi?" status default debug true type line metadata "wfs_service" "WFS" "wfs_version" "1.0.0" "wfs_typename" "gps_tracks" "wfs_request_method" "GET" end
To persuade a mapserver to be a WFS server i had to make two edits to the mapfile: one in the web stanza setting config parameters, and another in the layer adding optional WFS metadata.
web ... metadata "wfs_title" "freemap WFS - bristol" "wfs_onlineresource" "http://uo.space.frot.org/freemap/map.cgi?service=WFS" "wfs_srs" "EPSG:32630" end end
For some reason, dump true has to be set for the data your layer to show up via WFS.
layer ... metadata "wfs_title" "gps_tracks" end dump true end
That's it! This was thankfully easy. You can check out the capabilities of your WFS server by issuing a request like: http://uo.space.frot.org/freemap/map.cgi?service=WFS&request=GetCapabilities
These documents were helpful: