服务器对象扩展模块编码方法

要创建服务器对象扩展模块 (SOE),通常需要编写实现一些必需接口和执行业务逻辑的代码。如果要使用 Java,可以使用 Eclipse 插件向导着手创建 SOE。向导可确保您的 SOE 实现必需的接口,且可使用 SOESupport 中的类对 REST 或 SOAP Web 服务调用做出响应。

ArcObjects SDK 中提供了编码 SOE 的详细说明:

有关编写 Java SOE 的帮助

使用地图服务

SOE 主要为扩展地图服务而设计。因为地图服务使用服务定义文件并且不直接访问地图文档 (MXD),因此编写 SOE 时应避免使用某些类并优先使用其他类。

避免使用 Carto 库中专门为配合 MXD 使用而设计的 ArcObjects。包括 IMap、ILayer 以及与数据框和页面布局有关的项目。改用旨在用于地图服务的 ArcObjects,如 MapServer、MapLayerInfos 和 MapDescription。使用 IMapServerDataAccess 接口访问地图中各图层的基础数据集。

不直接与地图文档(例如 ,以及 com.esri.arcgis.geometrycom.esri.arcgis.geodatabase)相关的库可一直在 SOE 中使用。

创建一个 .soe 文件

始于 ArcGIS 10.1 for Server,将 SOE 封装在 .soe 文件中。如果要使用 .NET,采用 SOE 模板构建项目时会创建 .soe 文件。如果要使用 Java,将使用 Eclipse 内置的向导创建 .soe 文件。该 .soe 文件包含将 SOE 注册到 ArcGIS Server 时所需的所有信息。

9/15/2013