Skip To Content

轮询外部网站以查找 XML

“轮询外部网站以查找 XML”输入连接器可用于从外部网站检索和改编格式为 XML 的事件数据。 有关说明 ArcGIS GeoEvent Server 期望如何设置典型 JSON 数据记录的格式的示例,请参阅 Esri Community 博客 XML 数据结构 - 特征和局限性

当多个事件数据记录一批返回时,可在单一根节点下对其进行组织,如下图所示。 当指定要在其下组织各个记录的根节点时,XML 适配器会将每个对象作为单独的事件记录进行处理。

使用 XML 标记、元素和属性值层次结构组织事件记录的 XML 数据结构

用法说明

  • 使用此输入连接器在 web 服务器或 web 服务中查询格式为 XML 的数据,并对其进行改编以创建可供处理的事件记录。
  • 此输入连接器将 XML 入站适配器与 HTTP 入站传输进行配对。
  • 使用 XML 标记、元素和属性值层次结构组织事件记录的典型 XML 数据结构如上图所示。
  • XML 对象名称属性用于标识 XML 文档结构中组元素的名称。
  • 在指定分组元素的名称时,组织在指定组元素下的数据记录将被作为单独的事件记录进行处理。
  • 在未指定 XML 对象名称时,将考虑 XML 文档根元素下面的整个数据结构;事件记录的方案(即 GeoEvent 定义)将反映整个 XML 文档结构。
  • HTTP 方法指定用于在 web 服务中查询数据的 HTTP 请求的类型。 默认使用 HTTP/GET 请求。
  • XML 记录不必包含表示几何的数据。
  • 适配器支持根据 X、Y 和 Z 属性值构造点几何的功能。
  • 可以使用参数属性指定查询参数,以帮助指定感兴趣的数据。
  • 将查询参数指定为 HTTP/GET 请求的一部分,从而通过缩小返回的项目数来提高性能。
  • 任何指定查询参数的名称和值取决于外部 web 服务支持的请求。
  • 此输入连接器假设外部 web 服务器或 web 服务将接受 HTTP/GET 请求而无需身份验证。 对于需要身份验证的外部网站,请考虑创建自定义输入连接器,该连接器需要将 XML 入站适配器与支持基本、证书或 OAuth 身份验证的 HTTP 入站传输进行配对。
  • 仅接收新数据属性用于请求仅返回先前未发现的或新更新的数据的源。 此功能取决于正确将“最后修改时间”合并到其对 HTTP 请求的响应的标头中的数据源。 如果响应标头未指示最后更新内容的日期/时间,GeoEvent Server 将假设响应中的数据表示新数据或最近更新的数据。 您可以在 RFC 7232 HTTP 规范中查看有关响应标头中“最后修改时间”使用的详细信息。
  • 此输入连接器包括学习模式,当您需要允许输入连接器修改其构造的 GeoEvent 定义时,该模式可能非常有用。 此属性的目的是暂时接受所接收的事件数据将具有变量方案或数据结构。 输入连接器将使用所接收数据记录的样本来了解有关变量数据结构的详细信息,并将先前未发现的新属性字段追加到现有 GeoEvent 定义中。

    允许动态更改 GeoEvent 定义会对 GeoEvent 服务中的实时分析设计产生负面影响。 作为最佳实践,建议您如果您的入站事件数据中存在方案差异,则尽可能缩短使用学习模式的时间段,以生成支持入站数据所有预期变体的 GeoEvent 定义。 然后,可以关闭学习模式并自动生成针对生产部署复制和定制的 GeoEvent 定义。

参数

参数描述

名称

用于在 GeoEvent Manager 中引用的输入连接器的描述性名称。

URL

将数据托管为 XML 的外部网站的基本 URL。 GeoEvent Server 将向该 URL 发出轮询请求以检索 XML 数据。

创建 GeoEvent 定义

指定是否应将新的或现有的 GeoEvent 定义用于入站事件数据。 GeoEvent Server 需要 GeoEvent 定义,以了解入站事件数据属性字段和数据类型。

  • - 将根据收到的第一个事件记录的模式创建新的 GeoEvent 定义。
  • - 不会创建新的 GeoEvent 定义。 选择与入站事件数据的方案匹配的现有 GeoEvent 定义。

GeoEvent 定义名称(新)

(条件分析)

分配给新 GeoEvent 定义的名称。 如果已存在具有指定名称的 GeoEvent 定义,则会使用现有的 GeoEvent 定义。 收到的第一个数据记录将用于确定后续数据记录的预期方案,将根据第一个数据记录的方案创建新的 GeoEvent 定义。

此参数在创建 GeoEvent 定义设置为时显示,设置为时隐藏。

GeoEvent 定义名称(现有)

(条件分析)

在调整接收数据以创建事件数据以供 GeoEvent 服务处理时使用的现有 GeoEvent 定义的名称。

此参数在创建 GeoEvent 定义设置为时显示,设置为时隐藏。

HTTP 方法

轮询提供数据源的外部服务器时要使用的 HTTP 请求方法 GeoEvent Server。 默认使用 HTTP/GET 请求。

  • GET - GeoEvent Server 将发出 GET 请求。
  • POST - GeoEvent Server 将发出 POST 请求。
  • PUT - GeoEvent Server 将发出 PUT 请求。

提交自

提交正文

提交正文 MIME 类型

提交参数

(条件分析)

默认情况下,HTTP 方法设置为 GET 时,这些属性是隐藏的。

有关详细信息,请参阅下文的限制部分。

默认空间参考

根据坐标值或接收的数据构造点几何时要使用的默认空间参考的熟知文本标识符 (WKID) 包含不包括空间参考的几何字符串。

仅接收新数据

指定适配器是否在数据源响应的标头中查找最近修改值,并尝试使用此值来避免处理已接收且未更新的数据。 此参数的名称可能具有误导性。 传输将始终接收数据源在其对连接器查询的响应中包含的任何数据。 但是,指定仅接收新数据时,传输将缓存其上次请求的日期/时间,并且仅在来自数据源的响应包含的最近修改值大于传输的缓存值时才会将收到的数据转发到适配器。

指定最近修改值为可选功能。 实际上,没有多少数据源在其响应中包含该值。 此参数的默认值为,但是如果未找到最近修改值,则此参数基本上被忽略,因为确定响应中的数据是新的还是更新的日期/时间不可用。

  • - 每个轮询间隔仅处理包含新数据或更新数据的响应。
  • - 每个轮询间隔将处理收到的所有数据。

有关在响应标头中使用最近修改的详细信息,请参阅 RFC 7232 HTTP 规范。

频率(以秒为单位)

轮询外部 Web 服务器或 Web 服务以获取数据的间隔(以秒为单位)。 默认为 10 秒(每 10 秒进行一次轮询请求)。

头文件参数名称: 值列表

轮询外部 Web 服务器或 Web 服务时要包含在请求的 HTTP 标头中的参数。 应使用名称:以逗号分隔的值对(包括冒号)指定标头参数。

从字段构建几何

指定输入连接器是否应使用作为属性接收的坐标值构造点几何。 默认为

  • - 来自指定事件属性字段的值将用于构造点几何。
  • - 不会构造点几何。 假定属性字段包含可以解释为几何的值,或者事件记录为非空间(不具有几何)。

X 几何字段

(条件分析)

入站事件数据中的属性字段包含点位置的 X 坐标部分(例如水平或经度)。

此参数在从字段构建几何设置为时显示,设置为时隐藏。

Y 几何字段

(条件分析)

入站事件数据中的属性字段包含点位置的 Y 坐标部分(例如垂直或纬度)。

此参数在从字段构建几何设置为时显示,设置为时隐藏。

Z 几何字段

(条件分析)

入站事件数据中的属性字段包含点位置的 Z 坐标部分(例如深度或高度)。 如果留空,则将省略 Z 值,并将构建 2D 点几何。

此参数在从字段构建几何设置为时显示,设置为时隐藏。

XML 对象名称

用于标识接收的 XML 数据结构中的各个数据记录的 XML 元素的名称。 当 XML 对象名称用于按名称指定 XML 元素时,适配器将搜索与指定名称匹配的结点,并仅将这些结点视为数据记录。 如果未指定(默认值),则会考虑最上方 XML 根元素下的所有数据。

参数

指定一个或多个要追加到基本 URL 的查询参数。 查询参数特定于每个 Web 服务,不受所有服务支持。 支持时,查询参数有助于指定特别感兴趣的数据。 此参数没有默认值。 查询参数通常包含在 URL 参数中。

使用 URL 代理

指定 GeoEvent Server 是否在发出 HTTP 请求时使用 URL 代理。 默认为

  • - GeoEvent Server 将查询发送到外部服务的 URL 时,将使用指定的代理。
  • - GeoEvent Server 不会使用 URL 代理。 将直接访问基本 URL。

URL 代理

(条件分析)

发出 HTTP 请求时使用的 URL 代理。 此参数没有默认值。

此参数在使用 URL 代理设置为时显示,设置为时隐藏。

预期日期格式

该模式用于匹配日期/时间值的预期字符串表示形式,并将它们转换为 Java 日期值。 模式的格式遵循 Java SimpleDateFormat 类约定。 此参数没有默认值。

GeoEvent Server 更偏好以 ISO 8601 标准表示的日期/时间值,通常被识别为日期值的日期/时间值的多个字符串表示可以转换为 Java 日期值,且无需指定预期日期格式模式。 其中包括:

  • “2019-12-31T23:59:59”- ISO 8601 标准格式
  • 1577836799000 - Java 日期(时间长整型;UTC)
  • “Tue Dec 31 23:59:59 -0000 2019”- 常见的 web 服务字符串格式
  • “12/31/2019 11:59:59 PM”- 美国使用的通用格式(12 小时制)
  • “12/31/2019 23:59:59”- 美国使用的通用格式(24 小时制)

如果收到的日期/时间值使用上述五种之一以外的约定表示,则必须指定一个预期日期格式以便 GeoEvent Server 了解如何调整日期/时间值。

可接受的 MIME 类型(客户端模式)

指定此连接器在接收对自身的查询响应时希望看到的 MIME 类型。 外部 Web 服务的响应指定发送到 GeoEvent Server 的任何数据的实际 MIME 类型 。 此连接器了解以下 MIME 类型(默认):

application/xml

有关官方 MIME 类型的详细信息,请参阅互联网地址编码分配机构 (IANA)。 有关 ArcGIS Server 未使用的 MIME 类型的详细信息,请参阅 ArcGIS Server 未使用的 MIME 类型

此参数在 HTTP 方法设置为 Get 时显示,设置为 PostPut 时隐藏。

HTTP 超时(秒)

指定输入连接器等待来自其查询的外部 Web 服务的响应的最长时间(以秒为单位)。 该值必须是介于 12147483 之间的整数。 默认值为 30 秒(如果没有收到响应,HTTP 请求将在 30 秒后超时)。

学习模式

指定学习模式为活动还是禁用状态。 学习模式设置为时,入站适配器会将新字段追加到其已创建和正在维护的 GeoEvent 定义中。

  • - 将启用学习模式。 将使用共享不同方案的事件记录中的新字段更新 GeoEvent 定义。
  • - 不会启用学习模式。 不会修改 GeoEvent 定义。

当您需要允许输入连接器修改它构建的 GeoEvent 定义时,学习模式会很有用。 此参数的目的是暂时接受所接收的事件数据将具有变量方案或数据结构。 输入连接器将使用所接收数据记录的样本来了解有关变量数据结构的详细信息,并将先前未发现的新属性字段追加到现有 GeoEvent 定义中。

局限性

从技术角度讲,轮询输入应始终使用 HTTP/GET 请求,该请求不包含内容正文,并且任何参数都应该是用于指定感兴趣数据的查询参数。 以下参数仅适用于将数据发送到外部 Web 服务器或 Web 服务的输出连接器。 将 HTTP 方法参数设置为默认值 HTTP/GET,以下参数将保持隐藏状态。

参数描述

提交自

(条件分析)

指定此连接器是使用 HTTP/POST 还是 HTTP/PUT 请求。

  • 内容正文 - HTTP 请求将使用请求的内容正文发送数据。
  • 参数 - HTTP 请求将使用此连接器追加到以上记录的 URL 参数中的参数发送数据。

此参数在 HTTP 方法设置为 PostPut 时显示,设置为 Get 时隐藏。

提交正文

(条件分析)

指定要包含在 HTTP/POST 或 HTTP/PUT 请求的内容正文中的数据。

此参数在提交自设置为内容正文时显示,设置为参数时隐藏。

提交正文 MIME 类型

(条件分析)

指定 HTTP 请求的内容正文中包含的 MIME 数据类型。 MIME 类型通常由类型/子类型结构组成,用于指定 HTTP 客户端/服务器使用和接受的 Internet 媒体类型。 此参数没有默认值。

此参数在提交自设置为内容正文时显示,设置为参数时隐藏。

提交参数

(条件分析)

指定要包含在 HTTP 请求中的参数。 应使用名称:以逗号分隔的值对(包括冒号)指定参数。 此参数没有默认值。

此参数在提交自设置为参数时显示,设置为内容正文时隐藏。


在本主题中
  1. 用法说明
  2. 参数
  3. 局限性