【ArcGIS SOE】05使用Java开发REST SOE

本主题描述了使用Eclipse IDE向导创建REST SOE,该向导可通过Java ArcObjects Eclipse插件获得。它还描述了SOE的部署及其在ArcGIS for Server Services目录中的用法。

开发REST服务器对象扩展(SOE)的模式是创建一个Java类,该类实现必需的IServerObjectExtension和IRestRequestHandler接口。IServerObjectExtension接口提供在启动和关闭地图服务时调用的init()和shutdown()方法,而IRestRequestHandler方法则处理对SOE的HTTP请求。
 

本主题引导您
  1. 使用SOE Eclipse向导创建REST SOE

使用SOE Eclipse向导创建REST SOE

Step 0. Ensure that the "bin" folder in a JDK (version 1.6.0_41 or above) is added to the PATH environment variable.

Step 1. Ensure that the Java ArcObjects software development kit (SDK) is installed on your computer. The SDK provides access to libraries required for developing ArcObjects Java extensions, as well as the Eclipse plugins that hold Java extension creation and export wizards.

Step 2. Ensure that ArcGIS Eclipse plugins are installed in your copy of Eclipse. The minimum supported version of Eclipse is Helios Update 2. For instructions on how to install ArcGIS Eclipse plugins, see the "Using ESRI Eclipse Plugins" topic in "Developing Desktop Applications" -> "Using ESRI Eclipse Plugins" section of the ArcGIS Java Developer Help.

Step 3. Create a new Eclipse Java project, or use an existing one.

Step 4. Create a new REST SOE. Call it “SimpleRESTSOE”.

 

With your project selected, right click your source folder, typically 'src' and select “New -> Other …” from the context window. The “New…” dialog will pop up with a list of wizards. Note that these wizards become available only after the ArcGIS Eclipse plugins are installed.

 

 

现在,您有了一个名为“ SimpleRESTSOE”的REST资源,其中包含一个子资源和一个操作。

向SOE添加业务逻辑

向导生成的SimpleRESTSOE.java类包含与子向导中子资源和操作相对应的方法。该向导为如上一节所述创建的SOE生成以下方法。 

从顶部列出的方法开始:
 
  • 在IServerObjectExtension接口中声明的init()和shutdown()方法分别在实例化和销毁SOE时被调用。这些方法是SOAP和REST SOE所共有的。
  • getLayerCountByType()方法对应于同名的REST操作。这是此REST操作的建议实现点。
  • getRootResource()方法对应于根资源(SOE本身)。由向导生成的实现包括在其中创建一个名称为SOE的JSON对象。可以对其进行自定义,以向根资源添加更多信息,例如描述。
  • 生成getSubResourcelayers()方法存根以保存“ layers”子资源的业务逻辑。因此,这是此子资源的建议实现点。
  • invokeRESTOperation()方法是一种内部方法,用于提供在运行时调用正确的REST操作所需的所有内部逻辑。除非将新的REST操作添加到SOE和/或删除或修改现有的REST操作,否则您无需修改​​此方法。

 

 

 

    • handleRESTRequest()方法是运行时REST SOE的入口点。服务器的REST处理程序将调用此方法,并且有关REST请求的所有信息都可用于此方法。仅当添加新的子资源或删除现有的子资源时,才需要修改此方法。
    • getSchema()方法以JSON格式返回RESTSOE的资源层次结构。如果使用Eclipse IDE向导创建SOE,则将根据您在“ REST支持”页面上指定的资源层次结构自动生成此方法。仅当您希望在Eclipse向导创建SOE之后修改资源层次结构时,才应修改此方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值