The Open Geospatial Consortium (OGC), Web Processing Service (WPS) specification is an international specification for serving and executing geospatial processing on the web. You can create a WPS service by enabling the WPS capability when publishing a geoprocessing service.
Why use a WPS service?
WPS services are useful if you want to make your geoprocessing services available in an open, recognized way across different platforms and clients. Any client built to support the WPS 1.0.0 specification can view and work with your service.
Scope and compatibility
Client applications work with a WPS service by appending parameters to the service's URL. WPS services published to ArcGIS Server support the following mandatory operations:
- Requesting metadata about the service (GetCapabilities)
- Requesting detailed information about the processes that can be run on the service (DescribeProcess)
- Requesting to run a process implemented by the WPS service (Execute)
You can learn more about WPS services at the Open Geospatial Consortium website. Esri also maintains a Standards and Interoperability web page detailing its support for OGC services in ArcGIS.
WPS execution modes
WPS services and their accompanying tasks are either synchronous or asynchronous. Synchronous means that client applications will wait while the task executes on the server. Asynchronous means that client applications don't have to wait for the task to finish on the server before moving on to other tasks. For both execution modes, task results can be stored on the server and referenced through a URL, or they can be streamed directly back to clients.
It's up to you to decide whether a WPS service executes synchronously or asynchronously. Only tasks that execute quickly and have small output datasets should be published as synchronous WPS services.
Data types that support WPS services
Only certain data types can be used as input and output parameters for WPS services. These are derived from the supported Esri data types for geoprocessing. Below is a table that lists all supported input and output data types for WPS services and their equivalent subtypes.
Data type | Subtype |
---|---|
Standard | Long |
Double | |
String | |
Date | |
Boolean | |
Linear unit | |
Feature set | GML 3-SF |
Record set | GML 3-SF |
File | .zip |
Binary | |
XML | |
Plain text | |
Raster | Image/TIFF |
Binary (input only) |
For more information, see Input modes and parameter data types.
Publish a WPS service
To publish a WPS service, you must publish a geoprocessing service or a web tool first. During or after the publishing process, the WPS option should be enabled.
Publish from ArcGIS Pro
To publish a geoprocessing service or a web tool from ArcGIS Pro 2.6, ArcGIS Enterprise 11.3, see Quick tour of authoring and sharing web tools and Quick tour of authoring and sharing geoprocessing services. Once the service is published, you need to enable the WPS capability at ArcGIS Server Manager with the following steps:
- Access ArcGIS Server Manager using a web browser.
- Log in, and click the Services tab on top.
- Locate the geoprocessing service you published, and open it.
- In the table of contents to the left, select Capabilities.
- In the Select and configure capabilitiessection, check the WPS check box. A WPS Configuration section should appear.
- Optionally, to edit WPS properties, type the value in the corresponding text box of those properties.
- Click Save and Restart in the upper right corner; the service should automatically restart.
Upon successfully enabling the WPS capability, you can see the WPS URL in the URLs section of the WPS Configuration section in step 5 above.
Consume WPS services
WPS services running on ArcGIS Enterprise can be used in any client that supports WPS.
Types of clients
A web browser is the simplest client of a WPS service. However, there are additional third-party clients available for consuming WPS services. To consume WPS services hosted by ArcGIS Enterprise, the client must support WPS 1.0.0. Visit the following links for more information about third-party clients and libraries capable of consuming WPS services:
URL structure
To consume a WPS service, you'll need to know the URL. The URL follows this pattern:
https://gisserver.domain.com/server/services/folder/service/GPServer/WPSServer?
For example, if you enabled the WPS capability on the geoprocessing service WPSDemoService and published the service in a folder called DemoFolder on server gisserver, the URL would be as follows:
https://gisserver.domain.com/server/services/DemoFolder/WPSDemoService/GPServer/WPSServer?
WPS requests for GetCapabilities, DescribeProcess, and Execute operations can be issued through HTTP to this URL. Responses and exceptions to these requests are returned to the client. For more information about these operations and their parameters, see the OGC WPS 1.0.0 specification.