You are here: Wiki>Geoprocessing Web>WPSRestProxy (26 Jan 2017, BenjaminPross)Edit Attach

WPS REST Proxy


Introduction

The WPS REST Proxy is a webapp written in Java and makes heavy use of the Spring framework. The proxy should work with any Server implementing the WPS 2.0 Interface Standard.

Configuration

The configuration is currently done using a properties file named wps-proxy-config.properties. It is located in the src/main/resources folder of the 52n-wps-proxy-webapp module. In the packaged webapp it is located in the WEB-INF/classes folder. There are currently two properties:
Key Description Example (colons are escaped with a backslash)
base.url The URL of the proxy webapp. Needed for links to processes, etc. http\://localhost\:8080/RestfulWPSProxy/ (Forward slash mandatory at the end.)
wps.base.url The endpoint of the WPS 2.0 server. http\://localhost\:8080/wps/WebProcessingService

Examples

Capabilties (Service info)

HTTP GET

Structure:

{proxy.base.url}

Example:

http://geoprocessing.demo.52north.org:8080/wps-proxy

Process Description

Structure:

{proxy.base.url}/processes/{process.id}

Example:

http://geoprocessing.demo.52north.org:8080/wps-proxy/processes/org.n52.wps.server.algorithm.JTSConvexHullAlgorithm

Execute

Asynchronous execution (default)

HTTP POST

Structure:

{proxy.base.url}/processes/{process.id}/jobs

Example:

http://geoprocessing.demo.52north.org:8080/wps-proxy/processes/org.n52.wps.server.algorithm.JTSConvexHullAlgorithm/jobs

Request-Body:

{
    "Execute": {
        "Identifier": "org.n52.wps.server.algorithm.JTSConvexHullAlgorithm",
        "Input": [
            {
            "ComplexData": {
                    "_mimeType": "application/wkt",
                    "_text": "POLYGON((847666.55940505 6793166.084248,849319.51014149 6793452.723104,848402.26580219 6792640.5796786,849873.67859648 6792439.9324794,847666.55940505 6793166.084248))"
            },
            "_id": "data"
            }
        ],
        "output":[{
            "_mimeType": "application/wkt",
            "_id": "result",
            "_transmission": "value"
        }],
        "_service": "WPS",
        "_version": "2.0.0"
    }
}

Response (HTTP headers only):

HTTP Status 201 (Created) or a HTTP Status Error Code

HTTP header:

Location

Structure:

{proxy.base.url}/processes/{process.id}/jobs/{job.id}

Get Status and Results

HTTP GET

Structure (same as the URL in the Location header):

{proxy.base.url}/processes/{process.id}/jobs/{job.id}

Response

Status

Structure:
{
  "StatusInfo": {
    "JobID": "{job.id}",
    "Status": "Running"
  }
}

Result

Structure:
{
  "StatusInfo": {
    "JobID": "{job.id}",
    "Status": "Succeeded",
    "Output": "{proxy.base.url}/processes/{process.id}/jobs/{job.id}/outputs"
  }
}
Topic revision: r2 - 26 Jan 2017, BenjaminPross
Legal Notice | Privacy Statement


This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Wiki? Send feedback