Tutorial: Publishing a WFS service

Release 9.3 E-mail This Topic Printable Version Give Us Feedback

This tutorial will show you how to publish a WFS service with read-only access using ArcGIS Server Manager. When a map service or geodata service is published with WFS capabilities, the data can be accessed by OGC compliant WFS clients, including the Data Interoperability extension in ArcCatalog and ArcMap. These WFS clients can also see the latest changes made to the data. If you're new to WFS services and want to learn more about it before attempting this tutorial, see WFS services.

If you've just installed ArcGIS Server, you need to complete some preparatory steps before you can log into Manager or publish services. You can find these steps in the Getting started after install section of this help system.

Setup requirements for publishing a service

In order to create a map service or geodata service, you need to place the map document (mxd), geodatabase (File or Personal) or SDE connection file in a shared location visible to all server object container (SOC) machines in your GIS server. The SOC Account you created during the post install must also have permissions to read the map document and all of the data it references (map service), or all of the data in the geodatabase that you wish to publish (geodata service).

Deciding between a Geodata service or a Map service

With WFS services you have the option of publishing a geodata service or a map service. There are a few differences to be aware of when selecting the type of service you are going to create. The following sections summarize the functionality available with geodata and map services to help you identify which type of service best suits your requirements.

Geodata services

A WFS geodata service allows you to access a geodatabase through the internet or any OGC compliant WFS client. A geodata service may be created for any type of geodatabase including ArcSDE geodatabases, personal geodatabases and file geodatabases. When creating a WFS service from a geodata service, it is important to keep in mind that all of the feature classes in the geodatabase will be exposed in the service.

Geodata services are useful in situations where you need to access geodatabases in remote locations. For example, a company may want to set up ArcSDE geodatabases to manage data in its Los Angeles and New York offices. Once created, each office can publish its ArcSDE geodatabase on the Internet using a geodata service.

Map services

A WFS map service represents a map document (mxd) that you've made available to others through the internet or any OGC compliant WFS client. Map services with WFS functionality give you a lot of control over the data that is published through the service. Here are some common reasons why you might set up a map service.

There are also some limitations associated with WFS map services. Consider the following things when publishing a WFS service from a map document:

Publishing a WFS service

Follow these steps to create your geodata or map service:

    Start ArcGIS Server Manager and log in. For additional help with this step, see Logging in to Manager.

  1. Click Publish a GIS Resource under the Services tab.
  2. To select the Resource, use the dropdown box to browse to the map document (.mxd) or geodatabase (personal, file or SDE connection file(.sde)) that you want to publish.
  3. In the Name box, type a name for the service. The name cannot be more than 120 characters long, and may contain only alphanumeric characters and underscores.
  4. There are three options of which folder to publish the service to;
    • You can use the dropdown menu to choose an existing folder
    • Create a new folder
    • Accept the default folder, this will publish to the root folder
    After choosing where to publish the service, click next to continue.
  5. Select WFS to enable the capability for the service and click Next.
  6. Review the information about the service you are about to create. Then click Finish to create the service.

If you have an existing service that does not have WFS capabilities enabled, follow these steps to enable it:

  1. Your service may be listed with its Status as Started. In order to change settings on your service the service must be stopped. If the status is shown as Started, click the check box beside your service and then click the Stop button.
  2. Click on the Edit option for the service. This will allow you to edit the properties of the service including the capabilities.
  3. Click on the Capabilities folder
  4. Click the WFS check box
  5. Click OK to enable the capability.

How to acquire the URL for your WFS service

  1. Under the Services tab in ArcGIS Server Manager, click Manage Services.
  2. Click the Services in dropdown arrow and navigate to the service folder containing your published service.
  3. Your service should be listed with its Status as Started. If the status is shown as Stopped, click the check box beside your service and then click the Start button
  4. To acquire the URL for your WFS service, click the edit icon to open the properties dialog.
  5. In the properties dialog select the Capabilities tab
  6. Highlight the WFS option under the Select and configure capabilities window. This will display the WFS service properties.
  7. The URL for your WFS service is located in the Web Access window. This is the URL that you and other users will use to connect to the WFS service you have published.

Working with published data using a WFS client

Once you have published a WFS service it can be used in any client that supports WFS 1.1 and the Simple Features profile of GML including web browsers. You can also use the Data Interop extension in ArcCatalog and ArcMap to work with WFS services. The following sections will show you how to access WFS services through a web browser and the Data Interop extension in ArcCatalog.

Connecting to your WFS service through a web browser

A Web browser is one of the simplest clients of a WFS service. You can request information through HTTP and the responses or exceptions are returned through the browser.

To connect to your service you need to know the WFS URL which can be located in the service's Properties under the Capabilities tab in ArcGIS Server Manager or ArcCatalog. Once you have the URL you can use OGC standard operations to request information about the service through HTTP. Some examples of operations that you can use to request information include:

GetCapabilities

This request will return all feature types and functionality available through the service in GML format. To use the GetCapabilities operation in a web browser copy and paste the WFS URL into the address bar and add "?request=getCapabilities" to the end, as shown in the example and screen shot below.

URL example: http://bobmk/arcgis/services/wfs_services/ArcSDE_wfs/GeoDataServer/WFSServer?request=getcapabilities

The following graphic is an example of functionality returned by the GetCapabilities operation:

GetCapabilities also returns a list of all available feature classes and tables:

DescribeFeatureType

This request describes the field information about one or more features in the WFS service. This includes the field names, field types, allowed minimum and maximum field values and any other constraints set on a field of the feature classes or tables.

To use the DescribeFeatureType operation in a web browser copy and paste the WFS URL into the address bar and add "?SERVICE=WFS&VERSION=1.1.0&REQUEST=DescribeFeatureType&VERSION=1.1.0" to the end of the URL. This will return all of the field information about each of the feature types and tables available in the feature service, as seen in the screen shot below.

URL Example: http://bobmk/arcgis/services/wfs_services/ArcSDE_wfs/GeoDataServer/WFSServer?SERVICE=WFS&VERSION=1.1.0&REQUEST=DescribeFeatureType&VERSION=1.1.0

Adding filters

You can also specify a single feature class or table that you want the field information for by appending the following request to the end of the URL with the name of the feature type or table. "?SERVICE=WFS&VERSION=1.1.0&REQUEST=DescribeFeatureType&TypeName=[enter feature type here]&VERSION=1.1.0"

In the example below the DescribeFeatureType request is used to identify the field information for the feature type called cities.

URL example: http://bobmk/arcgis/services/wfs_services/ArcSDE_wfs/GeoDataServer/WFSServer?SERVICE=WFS&VERSION=1.1.0&REQUEST=DescribeFeatureType&TypeName=cities&VERSION=1.1.0

GetFeature

This request returns information about specific feature types available through the WFS service. Additionally, filters can be used to refine the information that is returned. For more information about the different filters available with WFS services see WFS Services.

To use the GetFeature operation in a web browser copy and paste the WFS URL into the address bar and add "?request=getFeature&typename=[enter feature type here]" to the end of the URL. This will return all of the attribute and geometry information about each feature or row in the feature type.

URL example: http://bobmk/arcgis/services/wfs_services/ArcSDE_wfs/GeoDataServer/WFSServer?request=getfeature&typename=cities

Adding filters

You can also add filters in the request to refine the results that are returned. For example you can request all of the cities that are within a specified coordinate range. In the example below two cities are located within a specified coordinate range.

URL Example: http://bobmk/arcgis/services/wfs_services/ArcSDE_wfs/GeoDataServer/WFSServer?request=getfeature&typename=cities&BBOX=46.90,-76.21,42.12,-72.88

Using the Data Interoperability Extension to connect to a WFS service

The Data Interoperability Extension allows you to read and write data in non-ArcGIS data formats. You can use the Interoperability Connection tool located in ArcCatalog to connect directly to external ESRI data formats, including WFS services. Once the connection is made, the data source will appear underneath the Interoperability Connection entry in the Catalog Tree. A connection is just like any other dataset in that you can add it to ArcMap or use it in geoprocessing tools.

Follow the steps below to connect to a WFS service through the Interoperability Connection tool.

  1. Turn on the Data Interoperability Extension. For more information about how to set it up see An overview of the ArcGIS Data Interoperability extension.
  2. Open the Interoperability Connections tool and double-click on the Add Interoperability Connection tool. This will open the Interoperability Connection dialog box.
  3. In the Interoperability Connection dialog, select WFS from the Format dropdown menu. In the Dataset edit box enter the URL for the WFS service that you want to connect to and click on the Settings button, this will bring up a WFS dialog.
  4. The WFS dialog allows you to specify connection information and select the feature types that you want to have visible through the connection. Click on the Table List button.
  5. In the Table List dialog select the features that you want to include in the connection and click OK.
  6. Click OK again to close the Settings dialog and then again to close the Data Interoperability dialog.
  7. Your new connection should now appear underneath Interoperability Connections in the Catalog Tree and is now available for use throughout ArcGIS.