Skip To Content

在客户端应用程序中使用服务器对象扩展

您可以在任何可以向服务器发出 HTTP 请求并解析响应的应用程序中使用服务器对象扩展 (SOE)。 SOE 的输入和输出是简单类型,例如数字、文本字符串以及 XML 和 JSON 对象。 使用应用程序不需要对用于实现 SOE 的 API 有任何了解。 它需要准备输入以发送到 SOE,并解析和了解从 SOE 返回的输出。

您通常会在 ArcGIS REST 服务目录中测试您的 SOE(假设您使用的是 REST SOE),然后编写代码以在您的客户端应用程序中使用 SOE。

在服务目录中测试 SOE

向 SOE 提交简单类型允许您在服务目录中测试您的 REST Web 服务 SOE。 在地图服务上启用 SOE 后,导航到服务目录中的服务页面。 在页面底部,您将看到在支持的扩展模块下列出的 SOE。 (如果没看到,请确认 ArcGIS Server 管理员已清除 REST 缓存。)

如果单击服务目录中的 SOE,您将能够单击并浏览显示的资源和操作。 单击操作,您将看到一些可用于测试 SOE 请求和响应的输入框。 您将得到一条简单的 JSON 或 HTML 响应。

在客户端应用程序中使用 SOE

当您将 SOE 公开为 REST Web 服务时,您可以在 Esri Web 和移动 API 中使用。 无论使用哪种 API,使用 SOE Web 服务都需要以下内容:

  • 从 Web 服务发出请求 - 涉及构建参数列表并将完整的 URL 发送到服务器

  • 对响应做一些事情 - 需要了解响应的格式并知道如何解析信息以在应用程序中做一些有用的事情

尽管编码模式相似,但用于使用 SOE 的类在 ArcGIS Maps SDK for JavaScript 中有所不同。 例如,在 API 中,您使用 JSON 设置变量,该变量包含 SOE 的所有输入参数。 然后,使用 esri.request() 方法进行 Web 服务调用。 响应是 JSON 对象。