WPS-Simple
WPS-Simple is based on the OGC's Web Processing Service (WPS) version 1.0. It eliminates a significant amount of the complexity associated with WPS, while retaining all of its service behaviour and XML response encodings.
Simplifications:
- Each base URL (i.e the part before the question mark) supports exactly one process.
- HTTP GET requests are much simpler (see Operations and Execute request encoding below).
- XML encoding of requests is not supported.
- SOAP is not supported.
- Individual control of formats for multiple outputs is not supported.
That's it!
Operations:
Requests for WPS-Simple operations shall be as follows:
- If no parameters are present, the service shall return a human-readable document that describes the service. This document may also provide usage examples and act as a client.
- If the parameter list includes REQUEST=GetCapabilities, the service shall return the Capabilities XML document as per WPS 1.0.
- If the parameter list includes REQUEST=DescribeProcess, the service shall return the ProcessDescription XML document as per WPS 1.0.
- If the parameter list includes REQUEST=Execute, or the request parameter is missing but other parameters are present, the request shall be treated as an Execute request. For Execute requests, service behaviour and response documents shall be as per WPS 1.0.
Execute request encoding:
Execute requests shall be as follows:
- The parameter names for the KVP portion of an Execute request shall consist of the identifiers of the data inputs and process outputs
In addition, the following reserved parameter names apply:
| Name | Presence | Description |
|---|---|---|
| Request | Optional | Identifies service request. Must be "Execute". |
| Language | Optional | Determines the language of the human-readable content of the response. Consists of a valid 2 or 5 digit RFC 4646 language tag (e.g "en", or "en-CA") supported by the server as indicated in the Capabilities document. |
| ResponseForm | Optional | Determines if the response shall be an XML Response Document or raw data output. Must be either "ResponseDocument" or "RawDataOutput", where the default is "RawDataOutput". |
| StoreExecuteResponse | Optional | Boolean value that determines if the Execute Response shall be stored as a web-accessible resource. Must be either "true" or "false", where the default is "false". |
| Status | Optional | Boolean value that determines if status information shall be updated in the response document. Must be either "true" or "false", where the default is "false". |
| Lineage | Optional | Boolean value that determines if lineage information shall be included in the response document. Must be either "true" or "false", where the is "false". |
| MimeType | Optional | Determines the mime type of all process outputs. Must be a mime type identified in the DescribeProcess response. |
| Encoding | Optional | Determines the encoding of all process outputs. Must be an encoding identified in the DescribeProcess response. |
| Schema | Optional | Determines the XML schema of all process outputs. Must be an XML schema identified in the DescribeProcess response. |
Notes:
- Parameter names are not case sensitive.
- The WPS-Simple Execute request eliminates the DataInputs and ProcessOutputs parameters found in WPS 1.0. This has the effect of eliminating the double URL-encoding required in WPS 1.0, but results in an additional restriction on the input and output parameter names, in that names shall not be identical.
Example
The WPS-Simple request for the Buffer process example described in the WPS 1.0 documentation is as follows:
http://foo.bar/foo?
InputPolygon=http://foo.bar/some_WFS_request.xml&
BufferDistance=400
Other Details:
For all XML responses the contents of the "service" parameter of the root element shall be "WPS-Simple".