You must have a working Internet connection whenever you retrieve WFS data. To display GML data correctly in the MapInfo Pro Web Feature Service, the server you are requesting information from must:
- Support versions 1.0.0, 1.1.0, or 2.0 of WFS. The MapInfo Pro WFS client sends the initial GetCapabilities request and specifies the highest version that the server supports (unless version 1.0.0 is set in MapInfo Pro as a preference). If the server you are requesting information from does not support 2.0, 1.1.0, or 1.0.0 MapInfo Pro cannot use that server and no further operations are allowed.
- Respond to GetCapabilities request using HTTP GET in XML.
- Respond to the GetFeature request by returning GML. By default a WFS 2.0 or 1.1.0 server will return GML 3. The server's GetCapabilities response should include this information. If the server does not claim to use GML 3 as the Result Format for GetFeature, then MapInfo Pro cannot use the server and no further operations will be allowed.
- Conform to the OGC GetCapabilities schema. If the server GetCapabilities response does not conform to the schema, MapInfo Pro may not be able to read portions of it. This may mean that MapInfo Pro misses items that the server is trying to communicate, such as feature types (tables), or filters. In some cases, MapInfo Pro will not be able to deal with the server, since necessary information cannot be found. In other cases, MapInfo Pro may miss functionality that the server is trying to provide, such as filters.
- Support HTTP GET and/or HTTP Post for the DescribeFeatureType and GetFeature requests. The MapInfo Pro client supports both HTTP GET and HTTP POST. The server should advertise what it accepts for each request in its GetCapabilities response. MapInfo Pro prefers HTTP POST for both operations, so if the server advertises that it supports both HTTP POST and HTTP GET methods for these operations, MapInfo Pro uses HTTP POST.
- Supply the URL for both the DescribeFeatureType and GetFeature in their GetCapabilities response. The URL provided must be valid for that request. If the server provides an invalid URL, MapInfo Pro's WFS client cannot work and displays a suitable error message.
The DescribeFeatureType response should be:
- An XML Schema that contains the information for the table specified only. If the server returns a schema that contains descriptions for multiple tables, MapInfo Pro cannot parse it correctly, and the operation will fail.
- A Valid XML Schema. If not, no further operations can be allowed for that feature type. Without a valid schema, MapInfo Pro cannot create or populate the table. In this case you can either select another table, select another server, or cancel the WFS dialog box.
MapInfo Pro checks that the schema returned for DescribeFeatureType is well formed XML, but does not validate the XML. Our WFS client works correctly with many servers that return schema's which contain invalid items. We thought that eliminating these servers, because they did not contain 100% valid XML, was too limiting.
While MapInfo Pro may be able to process a schema that contains well-formed but invalid XML, this may cause problems elsewhere, such as during the GetFeature processing. This may cause some confusion. If the XML returned during GetFeature does not match the schema, MapInfo Pro may create an empty table without displaying an error.
MapInfo Pro:
- Supports all row filters that the server advertises in the GetCapabilities response with the following constraints:
- The filters are OGC-defined filters as specified in the OGC WFS Specification or the OGC Filter Encoding Implementation specification.
- The filter takes zero (0) or one (1) arguments beyond the column name. This is a user interface constraint. MapInfo Pro's interface is unable to address such filters. This includes the A Between filter, which requires two (2) values.
- For WFS 1.1 and 2.0, the only spatial filter that MapInfo Pro supports is BBOX (bounding box).
- Supports MaxFeatures, but not all WFS servers support this option. While the OGC WFS Specification states that the server should implement this option, some servers ignore MaxFeatures. For WFS 1.1 and 2.0, the server may specify a default MaxFeatures. If that is the case, the field in the dialog is pre-populated, and that is the number of records returned by default.
- MapInfo Pro does not support the WFS 2.0 Response Paging feature.
- Treats the Geometry column as mandatory. While you can filter specific columns, MapInfo Pro always requests the Geometry column from the server. Many servers seem to treat the Geometry column as mandatory and return this column whether it is requested or not.
If a MapInfo WFS table is open, the user interface automatically enables the refresh process. During the refresh process, you cannot change the query that is sent to the WFS server. The data will be refetched from the server using the original query. This refreshed information can then be saved to the table.