问题描述
用户希望对由镶嵌数据集发布的ImageService启用一个Java版SOE功能,在ArcGIS Server Manager中添加扩展后,服务的Capabilities下却无法看到这一SOE功能。
原因
ArcGIS Server SOE可用于扩展ArcGIS for Server地图服务和影像服务的基本功能(包括这些服务的扩展,如要素服务)。但是SOE在开发时仅适用于一种服务类型,无法同时对地图服务和影像服务启用。
在进行SOE开发时,需要在ServerObjectExtproperties中显式定义服务类型MapService或ImageService。如果未进行设置,默认将对MapService生效。
解决方案
手动修改SOE文件中的ServerObjectExtproperties,添加针对服务类型的描述:
servicetype = “ImageService”
@ArcGISExtension
@ServerObjectExtProperties(displayName = "JavaImageSOE", description = "Some description.", defaultSOAPCapabilities = "", allSOAPCapabilities = "", properties = "", servicetype = "ImageService")
public class JavaImageSOE implements IServerObjectExtension, IRESTRequestHandler {
...
小结
实质上这也是 ArcGIS for Server 的Java版Server Object Extension模板的一个小瑕疵,Esri将会在后续的版本中解决。目前阶段,请大家手动添加这一设置。