关于ArcGIS Server Flex API中QueryTask报"#2032流错误"的解决

系统基于FlexViewer2.3及ArcGIS Server 10开发,同样的地图文档及数据在dot net版(10.0)及java版(10.02)的ArcGIS Server上发布为Map Service。系统有一个统计地图数据的widget,需要用到Query及QueryTask组件,query.where=" "。

当QueryTask的url指向dot net版Server发布的地图服务中的图层时,功能正常;当其url指向java版Server发布的地图服务中的图层时,弹出报错窗口,报”#2032流错误“,并给出出错的url。

首先在网上搜索 解决办法,一般给出的解答都是在9.3及更早版本的Server中,需要设置QueryTask.useAMF=false;在10及以后版本的Server中,则不需作此设置,采用默认的AMF格式传输数据即可。

但本系统就是采用的10版本的Server,而且若设置QueryTask.useAMF=false,错误依然存在。

将报错时给出的url复制到浏览器中查看,页面内会提示类似”Invalid parameter“的信息;将url中的ip及 端口改为dot net版server所在服务器,再在浏览器中查看,则会弹出下载提示,提示保存文件,看来得到了查询结果从服务器返回。

怀疑是java版server中tomcat编码的问题,但在search widget中同样用到了Query及QueryTask组件,不论是访问dot net版还是java版Server上的地图服务,功能正常。区别在于search widget中Query的where子句不是等于空格!于是将报错的url中的where参数的值改为类似proj_no like *的查询条件,再在浏览器中查看,也提示下载和保存文件!!!说明报错的原因很可能是java版server,Query.where=" "引起的。

设置QueryTask的url为java版server发布的地图服务的图层;因为在统计widget中的Query需要返回所有数据,于是设置query.where="1=1",编译并运行程序,功能正常!(若设置为query.where="proj_no like *"或query.where="proj_no like %*%"之类,虽不保错,但会返回零条数据)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值