安装ArcGIS Server for Java
1. 安装ArcGIS Server for Java,导入ISO文件到虚拟光驱,点击setup.exe文件,进入安装页面。选择ArcGIS Server for Java。 ArcGIS Server需要占用8099、8399端口,8099是服务管理服务的端口,8399是rest服务的端口,软件会自动安装配置的Tomcat。
2. 安装过程中除了需要改变安装路径之外,一律Next,软件会自动安装SOA、SOM服务,并且安装地图管理服务。
3. 注册:在安装完了软件后,将弹出一个配置服务的对话框(GIS Server Post Install),在Welcome to the GIS Server Post Install页面中,两个复选框都选中,点下一步。在Specify GIS Server Accounts页面中,配置ArcGISSOM和ArcGISSOC的密码。在GIS Server Webservices Account页面中,为ArcGISWebServices配置密码(这些用户名和密码,一定要记住了,以后登录Server的管理模块和链接服务都需要用到)。在Specify GIS Server directories中,为Web Server 制定路径、站点名称和站点端口。后边一路next。在Registration Options中选择第三个(I have received an authorization file from ESRI and am now ready to finish the registration process)。在Software Authorization中,选择你的license文件,点Browse,选择安装文件夹下的ecp文件完成注册。
4. 更改组和用户属性:右键我的电脑,选择管理菜单,进入计算机管理页面。选择本地用户和组,此处对用户和组任意一项配置即可,另一项将自动做相应的配置。此处仅介绍组配置。
Administrators组,其成员为:Administrator、ArcGISSOM和ArcGISWebServices;
agsadmin组,其成员为:Administrator、ArcGISSOM和ArcGISWebServices;
agsusers组,其成员为:Administrator、ArcGISSOM和ArcGISSOC。
Users组,其成员为:ArcGISSOM、ArcGISSOC和ArcGISmanager。
注意,此处仅说明了是与GIS有关的组的成员信息,若该组在其他方面还有成员,其他成员不要乱删。
5. 打开ArcGIS-> ArcGIS Server for the Java Platform->ArcGIS Server Manager,User name中输入用户名"登录名(Administrator"ArcGISWebServices),密码就是你配置ArcGISmanager时的密码,若你用其他用户名登录,密码为相应密码。登录成功后,则可以发布相应的ArcGIS Server服务。
6. 注意事项:如果无法登陆,首先看是否开启了防火墙,如果是杀毒软件的防火墙,关闭就可以了!如果是Windows自带的防火墙,则可以通过添加意外处理,具体方法如下:控制面板—>防火墙,先添加web端口:8399、8099;ArcSOM端口:135;添加ArcSOM.exe、 ArcSOC.exe两个应用程序, 均存放在ArcGIS\bin\目录下面!
7. arcgis server 9.3(Java)安装要求:占用磁盘空间大约1.5G左右,需要有Jdk开发环境!
8. ArcGIS Server Java 9.3 REST API的中文查询问题的解决方案:目前在ArcGIS Server 9.3 Java中使用中文进行REST查询时是有问题的,这是ArcGIS Server for Java集成的tomcat的问题,解决方案一:
a、ArcGIS Server Java9.3可以把services和rest单独导出成war包,部署到其他的web服务器上,从而可以避免内置tomcat的性能瓶颈。进入 Manager-->services-->Configure ServicesHandler-->Export页面,把rest服务导出成rest.war,保存到本地;
b、把保存下来的rest.拷贝到任何一个其他版本的tomcat 的webapps目录下(ArcGIS Server内置的tomcat是5.5.9版本,我测试用的是apache-tomcat-6.0.20),此时的Tomcat应该配置服务器端的编码为UTF-8。
c、启动tomcat6.0.20,在浏览器中输入http://localhost:8080/rest,进入service directory页面。
d、选中服务的图层进行查询,输入中文进行查询,看是否可以得到正确的结果。
有人反映这个方案不能解决问题,可能和tomcat的版本有关,还有另外两种解决方案:
方案1:
从客户端入手。
中文不能查询的根本原因在于编码,当我们在使用RESTAPI进行查询的时候,请求的URL一般是这样:
“http://wuyfsles:8399/arcgis/rest/services/BeijingTraffic/MapServer /find?searchText=事故&contains=true&searchFields=&sr=& layers=0&returnGeometry=true”,其中的中文无法被服务器识别。因此,你可以在发送前对“事故”这个中文关键词进行 URL编码,应该是“%CA%C2%B9%CA”,你在浏览器中输入
“http://wuyfsles:8399/arcgis/rest/services/BeijingTraffic/MapServer /find?searchText=%CA%C2%B9%CA&contains=true&searchFields=& sr=&layers=0&returnGeometry=true”的时候,是不是可以看到结果了?
方案2:
从服务器端入手,还是着手解决编码问题。
既然tomcat有问题,我们就在tomcat身上开刀。以Linux为例,分别打开“/arcgis/java/manager/service/tomcat/managerappserver/conf/server.xml”和
“/arcgis/java/manager/service/tomcat/managerserver/conf/server.xml”,找到“Connector”元素,如图添加属性URIEncoding="UTF-8"。保存退出,重启tomcat和ArcGIS Server。
1. 安装ArcGIS Server for Java,导入ISO文件到虚拟光驱,点击setup.exe文件,进入安装页面。选择ArcGIS Server for Java。 ArcGIS Server需要占用8099、8399端口,8099是服务管理服务的端口,8399是rest服务的端口,软件会自动安装配置的Tomcat。
2. 安装过程中除了需要改变安装路径之外,一律Next,软件会自动安装SOA、SOM服务,并且安装地图管理服务。
3. 注册:在安装完了软件后,将弹出一个配置服务的对话框(GIS Server Post Install),在Welcome to the GIS Server Post Install页面中,两个复选框都选中,点下一步。在Specify GIS Server Accounts页面中,配置ArcGISSOM和ArcGISSOC的密码。在GIS Server Webservices Account页面中,为ArcGISWebServices配置密码(这些用户名和密码,一定要记住了,以后登录Server的管理模块和链接服务都需要用到)。在Specify GIS Server directories中,为Web Server 制定路径、站点名称和站点端口。后边一路next。在Registration Options中选择第三个(I have received an authorization file from ESRI and am now ready to finish the registration process)。在Software Authorization中,选择你的license文件,点Browse,选择安装文件夹下的ecp文件完成注册。
4. 更改组和用户属性:右键我的电脑,选择管理菜单,进入计算机管理页面。选择本地用户和组,此处对用户和组任意一项配置即可,另一项将自动做相应的配置。此处仅介绍组配置。
Administrators组,其成员为:Administrator、ArcGISSOM和ArcGISWebServices;
agsadmin组,其成员为:Administrator、ArcGISSOM和ArcGISWebServices;
agsusers组,其成员为:Administrator、ArcGISSOM和ArcGISSOC。
Users组,其成员为:ArcGISSOM、ArcGISSOC和ArcGISmanager。
注意,此处仅说明了是与GIS有关的组的成员信息,若该组在其他方面还有成员,其他成员不要乱删。
5. 打开ArcGIS-> ArcGIS Server for the Java Platform->ArcGIS Server Manager,User name中输入用户名"登录名(Administrator"ArcGISWebServices),密码就是你配置ArcGISmanager时的密码,若你用其他用户名登录,密码为相应密码。登录成功后,则可以发布相应的ArcGIS Server服务。
6. 注意事项:如果无法登陆,首先看是否开启了防火墙,如果是杀毒软件的防火墙,关闭就可以了!如果是Windows自带的防火墙,则可以通过添加意外处理,具体方法如下:控制面板—>防火墙,先添加web端口:8399、8099;ArcSOM端口:135;添加ArcSOM.exe、 ArcSOC.exe两个应用程序, 均存放在ArcGIS\bin\目录下面!
7. arcgis server 9.3(Java)安装要求:占用磁盘空间大约1.5G左右,需要有Jdk开发环境!
8. ArcGIS Server Java 9.3 REST API的中文查询问题的解决方案:目前在ArcGIS Server 9.3 Java中使用中文进行REST查询时是有问题的,这是ArcGIS Server for Java集成的tomcat的问题,解决方案一:
a、ArcGIS Server Java9.3可以把services和rest单独导出成war包,部署到其他的web服务器上,从而可以避免内置tomcat的性能瓶颈。进入 Manager-->services-->Configure ServicesHandler-->Export页面,把rest服务导出成rest.war,保存到本地;
b、把保存下来的rest.拷贝到任何一个其他版本的tomcat 的webapps目录下(ArcGIS Server内置的tomcat是5.5.9版本,我测试用的是apache-tomcat-6.0.20),此时的Tomcat应该配置服务器端的编码为UTF-8。
c、启动tomcat6.0.20,在浏览器中输入http://localhost:8080/rest,进入service directory页面。
d、选中服务的图层进行查询,输入中文进行查询,看是否可以得到正确的结果。
有人反映这个方案不能解决问题,可能和tomcat的版本有关,还有另外两种解决方案:
方案1:
从客户端入手。
中文不能查询的根本原因在于编码,当我们在使用RESTAPI进行查询的时候,请求的URL一般是这样:
“http://wuyfsles:8399/arcgis/rest/services/BeijingTraffic/MapServer /find?searchText=事故&contains=true&searchFields=&sr=& layers=0&returnGeometry=true”,其中的中文无法被服务器识别。因此,你可以在发送前对“事故”这个中文关键词进行 URL编码,应该是“%CA%C2%B9%CA”,你在浏览器中输入
“http://wuyfsles:8399/arcgis/rest/services/BeijingTraffic/MapServer /find?searchText=%CA%C2%B9%CA&contains=true&searchFields=& sr=&layers=0&returnGeometry=true”的时候,是不是可以看到结果了?
方案2:
从服务器端入手,还是着手解决编码问题。
既然tomcat有问题,我们就在tomcat身上开刀。以Linux为例,分别打开“/arcgis/java/manager/service/tomcat/managerappserver/conf/server.xml”和
“/arcgis/java/manager/service/tomcat/managerserver/conf/server.xml”,找到“Connector”元素,如图添加属性URIEncoding="UTF-8"。保存退出,重启tomcat和ArcGIS Server。
http://pygisblog.appspot.com
9、服务发布时是以mxd文件形式进行发布的,而如果我们对存放在桌面上的mxd文件进行发布时,会出现错误,解决办法将mxd和底图移动到其它磁盘下进行发布。
服务到底有没有发不成功:输入http://localhost:8399/arcgis/rest/services,如果能够访问,那么服务就发布成功了。