The Receive Features on a REST Endpoint input connector can be used to receive and adapt event data, formatted as feature JSON, on a REST endpoint hosted by ArcGIS GeoEvent Server. Given a standard GeoEvent Server configuration, data providers should expect to send data through HTTP/POST to an endpoint formatted as https://<machine_name>.<domain>:6143/geoevent/rest/receiver/name in which name is the name of the configured input connector.
Usage notes
Keep the following in mind when using the Receive Features on a REST Endpoint input connector:
- Use this connector to receive data formatted to include attributes and geometry, as described in Geometry objects.
- This input connector pairs the Feature JSON inbound adapter with the HTTP inbound transport.
- An example of typical feature JSON is illustrated above. This example organizes two feature records, with point geometry, in an array.
- The adapter will handle each object in an array as a separate event record.
- Like GeoJSON, feature JSON is a subtype of generic JSON. Different GeoEvent Server adapters are used to process these specific formats.
- This connector can adapt point, multipoint, polyline, and polygon features. It does not handle feature sets or feature collections.
- Configuring and saving a new Receive Features on a REST Endpoint input connector creates a GeoEvent Server hosted REST endpoint.
- Data providers send feature JSON to a GeoEvent Server hosted REST endpoint as part of an HTTP/POST request.
- You can recover the fully qualified path to the GeoEvent Server hosted REST endpoint by editing the input after it has been saved.
- GeoEvent Server can be configured to use a different base URL for its REST receiver or connect through a port other than 6143.
- A data provider must include, in the header of their HTTP/POST, the MIME type associated with data being sent.
- The input you configure should specify which MIME types the transport will accept.
- This connector expects the MIME type application/json, which is a default MIME type for the exchange of JSON between a client and server.
- Feature JSON is generally expected to include geometry, rather than coordinate values from which geometry can be constructed.
- This input connector does not construct a geometry from coordinates received as attributes values.
- Data formatted as feature JSON must include a spatial reference. You should not specify the Default Spatial Reference parameter when using this connector.
- The transport will accept both HTTP/GET and HTTP/POST requests. A data provider is typically expected to make an HTTP/POST request to send event data to GeoEvent Server with feature JSON in the request’s body and no query parameters. This input connector, however, can also extract feature JSON included as the value of a specified query parameter in an HTTP/GET request’s URL. Use the Parameter Name for the Raw Data parameter to use this capability.
Parameters
The following are the parameters for the Receive Features on a REST Endpoint input connector:
Parameter | Description |
---|---|
Name | A descriptive name for the input connector used for reference in GeoEvent Manager. |
Create GeoEvent Definition | Specifies whether a new or existing GeoEvent Definition should be used for the inbound event data. A GeoEvent Definition is required for GeoEvent Server to understand the inbound event data attribute fields and data types.
|
GeoEvent Definition Name (New) (Conditional) | The name assigned to a new GeoEvent Definition. If a GeoEvent Definition with the specified name already exists, the existing GeoEvent Definition will be used. The first data record received will be used to determine the expected schema of subsequent data records, a new GeoEvent Definition will be created based on that first data record's schema. The parameter is shown when Create GeoEvent Definition is set to Yes and is hidden when set to No. |
GeoEvent Definition Name (Existing) (Conditional) | The name of an existing GeoEvent Definition to use when adapting received data to create event data for processing by a GeoEvent Service. The parameter is shown when Create GeoEvent Definition is set to No and is hidden when set to Yes. |
Expected Date Format | The pattern used to match expected string representations of date/time values and convert them to Java Date values. The pattern's format follows the Java SimpleDateFormat class convention. While GeoEvent Server prefers date/time values to be expressed in the ISO 8601 standard, several string representations of date/time values commonly recognized as date values can be converted to Java Date values without specifying an Expected Date Format pattern. These include the following:
If the date/time values received are expressed using a convention other than one of the five shown above, you will have to specify an expected date format pattern so GeoEvent Server knows how the date/time values should be adapted. |
Acceptable MIME Types (Server Mode) | Specifies the MIME types the input connector will accept. Use commas to separate values, for example: text/plain,application/xml,text/xml. MIME types typically consist of a type/subtype structure and are used when a server must specify the internet media types of data it accepts from clients. The default is application/json, which is the official MIME type for the exchange of JSON between a client and server. For more information on official MIME types, see Internet Assigned Numbers Authority (IANA). For more information on the MIME types not used by ArcGIS Server, see MIME types not used by ArcGIS Server. |
Default Spatial Reference | The well-known ID (WKID) of a spatial reference to be used when a geometry is constructed from attribute field values whose coordinates are not latitude and longitude values for an assumed WGS84 geographic coordinate system, or geometry strings are received that do not include a spatial reference. A well-known text (WKT) value or the name of an attribute field containing the WKID or WKT may also be specified. |
Parameter Name for the Raw Data | The name of the query parameter whose value provides the raw data for inbound HTTP/GET requests. The query parameter’s value should be a single string formatted as generic JSON. |