ArcGIS Server Java 9.3 REST API的中文查询问题的解决方案
【2009.2.18补注】这个问题在SP1 for Linux中修复,SP1 for Windows下问题更加严重,如果打了SP1 for Windows,还想使用REST服务,就必须使用Linux或者没有打SP1补丁的Windows的ArcGIS Server的$arcgis/java/web_output/rest替换现有的目录(同时,还需要手动修改/WEB-INF/classes下的配置文件server.properties)。
目前在ArcGIS Server 9.3 Java中使用中文进行REST查询时是有问题的,这是ArcGIS Server for Java集成的tomcat的问题,我的同事曾经给出一个解决方案:
1、ArcGIS Server Java 9.3可以把services和rest单独导出成war包,部署到其他的web服务器上,从而可以避免内置tomcat的性能瓶颈。进入Manager-->services-->Configure Services Handler-->Export页面,把rest服务导出成rest.war,保存到本地;
2、把保存下来的rest.拷贝到任何一个其他版本的tomcat 的webapps目录下(ArcGIS Server内置的tomcat是5.5.9版本,我们测试用的是apache-tomcat-6.0.10)
3、启动tomcat6.0.10,在浏览器中输入http://localhost:8080/rest,进入service directory页面。
4、选中服务的图层进行查询,输入中文进行查询,看是否可以得到正确的结果。
有人反映这个方案不能解决问题,可能和tomcat的版本有关,我研究了一下,给出两种解决方案:
方案1:
从客户端入手。
中文不能查询的根本原因在于编码,当我们在使用REST API进行查询的时候,请求的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。
ArcGIS Server Java 9.3 REST API的中文查询问题的解决方案的更多相关文章
- ArcGIS Server开发实践之【Search Widget工具查询本地地图服务】
加载本地地图服务,并实现要素的查询.(不足之处还请指点)具体代码如下: <!DOCTYPE html> <html dir="ltr"> <head& ...
- HBase的java操作,最新API。(查询指定行、列、插入数据等)
关于HBase环境搭建和HBase的原理架构,请见笔者相关博客. 1.HBase对java有着较优秀的支持,本文将介绍如何使用java操作Hbase. 首先是pom依赖: <dependency ...
- C# 调用ArcGIS server admin api
一.AGS server admin api 介绍 1.1什么是admin api AGS Server Admin api 官方的称呼是 AGS Server administrator api, ...
- lzugis——Arcgis Server for JavaScript API之POI
POI(Point Of Interest),感兴趣点,其实呢,严格意义上说应该不是POI,但是单位就这样叫了,我也就这样叫了,其实现的功能大致是这样的:用过百度地图的朋友们都知道你在百度地图时,当鼠 ...
- ArcGIS API for JavaScript(2)-ArcGIS Server发布要素图层服务
1.前言 上一篇该系列的文章我们主要讲了一下基础Web地图搭建,这篇我们主要讲一下ArcGIS Server发布服务,并且如何调用服务.将自己的数据加载到Web地图当中来,实现Web端浏览数据. 2. ...
- ArcGIS Server开发教程系列(7)使用ArcGIS API for Javascript-Hello World
ArcGIS API for Javascript API下载地址:http://support.esrichina-bj.cn/2011/0223/960.html 选择最新的下载就好了,目前是3 ...
- ArcGIS Server 10 Java 版的Rest服务手动配置方法
Java版的Manager中发布的服务默认只发布了该服务的SOAP接口,而REST接口需要用户在信息服务器,如Tomcat. Apache.WebLogic等中手工配置.由于在Java版的Server ...
- ArcGIS server开发之API for js 本地部署
ArcGIS Server for javascript 本地部署 第一次使用arcgis server for js开发,在经验方面还有很多的不足,所以将自己在开发过程中遇到的问题写出来与大家共享. ...
- [ArcGIS]ArcGIS Server环境搭建,发布服务,以及使用ArcGIS API for JavaScript
环境搭建 安装Web服务器 IIS 控制面板-程序-程序和功能-启用或关闭Windows功能,勾选以下 安装VisualStudio,选择包括ASP.NET模块 安装ArcGIS服务器 ArcGIS ...
随机推荐
- PIE SDK专题制图打开模板
1. 功能简介 在PIE SDK中,所有的制图元素.视图范围以及排版等都可以保存成一个模板,以供多次重复使用.使用时只需要打开该模板,加载相应数据,就可以直接出图了,省去了重复制作图幅的麻烦,方 ...
- windows下dubbo-admin的安装
本来以为十分钟就能搞定的东西结果搞了一个小时,也是菜到抠脚,赶紧记录一下. 下载dubbo源码,下载地址:https://download.csdn.net/download/huangzhang_/ ...
- 算法市场 Algorithmia
算法市场 官网:(需要***,fan qiang,不然可能访问不了或登录不了) https://algorithmia.com/ 官方的例子: 我不用 curl 发请求,把 curl 命令粘贴给你们用 ...
- like模糊查询%注入问题
android like 全局模糊查找文件命名 通过条件通过 like %search% 如果查找的关键字是% 那么就成了 like %%% 就会查找出所有的文件 解决办法是先把正则里面的匹配符 替换 ...
- opensuse 安装oracle 界面乱码
执行.runInstall时,出现界面乱码 export LANG=en_US export LC_ALL=en_US 终端里 执行这两句.用英文界面安装 再执行 .runInstall
- 【Linux】修改ubuntu默认字符集
今天把以前的项目移植到linux上了,我装的是ubuntu,web服务器是tomcat,发现用freemark模板生成的静态页面全 乱码了,在windows都是正常的,猜想可能是linux字符集的问题 ...
- 关于Json字符串"反序列化Error reading JObject from JsonReader. Current JsonReader item is not an object: StartArray. Path..."
描述的很清楚就是说给它的不是一个对象,而是一个数组,所以他在建议你用JArray去解析,但是你明明就是给它的一个对象,并不是一个数组 这是我下意识的去把我的json字符串中的"[ ]&quo ...
- Linux下MySQL数据库主从同步配置
说明: 操作系统:CentOS 5.x 64位 MySQL数据库版本:mysql-5.5.35 MySQL主服务器:192.168.21.128 MySQL从服务器:192.168.21.129 准备 ...
- hrb——开锁魔法I——————【规律】
解题思路:从1到n的倒数之和. #include<stdio.h> #include<string.h> #include<algorithm> using nam ...
- 文档生成工具Sandcastle Help File Builder
Sandcastle Help File Builder http://shfb.codeplex.com/