使用ArcGIS Server 10 Java版发布GIS服务,当使用ArcGIS Manager创建好服务后,然后打开“ArcGIS Services Directory”的链接时发现网页报出了找不到资源的错误,如下图:
图1
后来发现,原来Java版的Manager中发布的服务默认只发布了该服务的SOAP接口,而REST接口需要用户在信息服务器,如Tomcat、Apache、WebLogic等中手工配置。由于在Java版的Server中内嵌了一个Tomcat服务,所以本文直接使用该服务来配置Rest接口,至于其它信息发布服务器上Rest的配置原理与本文所述基本一致。
Rest接口的配置主要涉及四个步骤:
1、在Mangaer中到导出est服务所对应的.war包;
2、将.war包放到Tomcat的虚拟目录中;
3、重新启动ArcGIS Server的三个服务;
4、验证Rest接口发布是否成功。
一、在Manager中导出Rest服务所对应的.war包
首先登录ArcGIS Manager,在其主页面左侧NavBar的Services选项卡中,选择标签“Configure Services Handler”(图2),
图2
然后页面右侧选择“Export”选项卡(图3)。接着依次在“Export Web Services ” 下拉框中选择“Rest Service”,在“WAR File Name”处填写“rest”(此处可根据需要取任意名字),在“Soap URL”处,如果是需要导出该Server中的所有服务,则填写“http://<your host name>:8399/arcgis/services”。接着在GIS Server区域填写用于登录该Server的用户名、密码,以及安全域(一般是机器名),其它参数取默认值。最后,点击页面下方的“Export”按钮,rest.war被自动下载到本地的下载目录中(图4),该下载过程一般需5~10秒。
图3
图4
二、将.war包放到Tomcat的虚拟目录中
Java版的Server中内嵌了一个Tomcat服务器,而该服务器发布目录的根目录位于ArcGIS Server的安装目录中“D:\<your ArcGIS Instal Directory>\Server10.0\java\manager\web_output\web”。接着将上一步中导出的rest.war文件放在该目录下即可。
三、重新启动ArcGIS Server的三个服务
在Windows的服务管理器中,重新启动ArcGIS Server如图5所示的三个服务。
图5
在重启Server服务后大约10秒后,在上一步存放rest.war文件的目录中,可以发现系统自动生成了一个名rest的文件夹,该文件夹的目录结构和rest.war中目录结构一致,也就是说在重启过程中,Tomcat自动将该war解压到同级目录中,如图6。
图6
四、验证Rest接口发布是否成功
在浏览器中打开“http://<<your host name>:>:8399/rest/services”,此时我们可以浏览到Server中发布的如图7所示的所有Rest服务的列表了。