How To: Use external capabilities files with WFS services
Instructions provided describe the steps required to create and use external capabilities files to publish a Web Feature Server (WFS) Service. Publishing a WFS service using external capabilities files is aimed at users who are familiar with the Open Geospatial Consortium (OGC) WFS specifications and WFS capabilities files syntax. This option allows maximum flexibility during the customization of WFS services.
There are two different methods that can be used to create an external capabilities file. A capabilities file can be created from scratch in an XML or text editor, or a capabilities file can be generated by publishing a WFS service with the defaults and then calling GetCapabilities from the Web browser. The contents returned from the GetCapabilities requests can be saved as an XML file, modified as desired, and used as the external capabilities file.
The steps that describe how to use an external capabilities file at ArcGIS 9.3 are in the WFS Services Web help. At ArcGIS 9.3, only WFS 1.1.0 capabilities files are supported.
At ArcGIS 9.3, the external capabilities file must be called GetCapabilities110.xml and only one external capabilities file is required.
As of ArcGIS 9.3 Service Pack 1 (SP1), ArcGIS Server is compliant with both 1.1.0 and 1.0.0 OGC WFS specification. As a result, the steps to create and use external capabilities files starting at ArcGIS 9.3 SP1 have changed. Two external capabilities files are required, one that references 1.1.0 specifications and one that references 1.0.0 specifications.
The steps below describe how to create external capabilities files from an existing WFS service, and how to publish a WFS service using these files.
Part 1: Creating external capabilities files from an existing WFS service
1. Start ArcCatalog or ArcGIS Server Manager.
2. Open the Service Properties dialog box. To do this in ArcCatalog, right-click an existing service and click Service Properties. In ArcGIS Server Manager, click the Services tab and click the Edit (pencil) icon of the service.
3. Click the Capabilities tab.
4. In the list of capabilities, check WFS if it is not checked already. If it is checked already, just click the letters WFS. Some WFS-specific properties appear.
5. Highlight the WFS URL and copy and paste it into a Web browser.
6. To create the external capabilities file for WFS 1.1.0 specifications, append '?request=getCapabilities' or 'request=getCapabilities&version=1.1.0' to the WFS URL in the Web browser and save the results as an XML file. The file name must have the format <prefix>110.xml. For example, if the service is called California you may want to name the file California110.xml, where the word California is the prefix.
7. To create the external capabilities file for WFS 1.0.0 specifications, append '?request=getCapabilities&version1.0.0' to the WFS URL and save the results as an XML file. The file name must have the format <prefix>100.xml and the prefix must match that of the 1.1.0 file. Following the example in step 6, if the 1.1.0 file is called California110.xml, the 1.0.0 file must be called California100.xml.
Part 2: Publishing a WFS Service with an external capabilities file as of ArcGIS 9.3 SP1
Once the capabilities file has been created, it can be placed in a folder accessible to the SOC and the Server. For example, the file can be placed in the same folder as the Geodatabase or Map Document of the service. A URL location can also be used. It is important to note that as of ArcGIS 9.3 SP1 both files must be placed in the same location.
An existing service that is using the default properties can be updated to use an external capabilities file, or a new service that references the external capabilities files can be created. The steps below describe how to publish a WFS service with the external capabilities files.
1. Start ArcCatalog or ArcGIS Server Manager.
2. Stop the service to be updated.
3. Open the Service Properties dialog box. To do this in ArcCatalog, right-click an existing service and click Service Properties. In ArcGIS Server Manager, click the Services tab and click the Edit (pencil) icon of the service.
4. Click the Capabilities tab.
5. In the list of capabilities, check WFS if it is not checked already. If it is checked already, just click the letters WFS. Some WFS-specific properties appear.
6. Click 'Use external capabilities files'.
7. The next step is to specify the location of the external capabilities files. The location is specified by providing the URL or folder path that contains the capabilities files and the prefix. For example, if the capabilities files are named California110.xml and California100.xml for the California service, the prefix is California. If these files are stored in http://ArcGIS_Server/arcgis/wfs, specify http://ArcGIS_Server/arcgis/wfs/California. If these files are stored in C:\arcgis\arcgisserver\wfs instead, specify C:\arcgis\arcgisserver\wfs\California.
On Windows Vista, the URL approach must be used.
8. Restart the service.
Now, when a WFS client accesses the service, the appropriate capabilities file will be referenced based on the version of the request. For example, if the WFS client calls DescribeFeatureType&version=1.0.0, then the Server would respond with information from the 1.0.0 specific external capabilities file. If no version is specified, it will return information from the 1.1.0 specific external capabilities file.
At ArcGIS 9.3 SP1, there is a bug that prevents services from starting when 1.0.0 external capabilities files are used. The workaround for this issue is to make a copy the 1.1.0 capabilities file and save it as the 1.0.0 file, so that both external capabilities files are the same. This allows the service to start; however, the service will not be able to provide WFS 1.0.0 specific settings.