ArcGIS MapServer查询异常,返回400错误求排查原因
ArcGIS MapServer 查询返回400错误(扩展码-2147220985)的排查方案
针对你遇到的https://ndgishub.nd.gov/arcgis/rest/services/All_GovtBoundaries/MapServer/4/query服务查询失败问题,结合错误码分析,可能的原因及排查步骤如下:
可能的原因
- 查询表达式语法问题:你的查询条件中
SECTION ='10'包含等号两侧的空格,虽然之前可用,但服务端可能更新了语法校验规则,严格的SQL解析会将这种格式视为无效。 - 服务端数据/结构变更:该图层(MapServer 4号)可能经历了数据更新,比如字段名修改(如
TOWNSHIP改为小写township,部分服务对大小写敏感)、字段类型变更,或者你查询的目标镇区地块数据被移除。 - ArcGIS Server特定错误:扩展码
-2147220985对应ArcGIS的Invalid Query错误,通常是查询语句无法被服务端解析,或者违反了服务的查询限制(比如权限调整、返回结果超限)。
排查步骤
修正查询表达式格式:去掉条件中的多余空格,将
SECTION ='10'改为SECTION='10',完整查询条件调整为:TOWNSHIP='158' AND TDIR='N' AND RANGE='88' AND RDIR='W' AND SECTION='10'重新发起请求测试。
验证图层字段有效性:查看该MapServer 4号图层的字段列表(通过服务的REST管理页面),确认
TOWNSHIP、TDIR、RANGE、RDIR、SECTION这些字段仍然存在,且字段类型与你的查询值匹配(你用单引号包裹字符串值的格式是正确的)。逐步简化查询条件:先单独使用
TOWNSHIP='158'作为查询条件,确认能返回结果后,再依次添加TDIR='N'、RANGE='88'等条件,定位到导致错误的具体条件。检查服务必填参数:确保查询请求包含所有必填参数,比如显式指定
f=json(指定返回格式为JSON),部分ArcGIS服务在更新后会要求显式声明该参数。确认服务状态:查看服务的REST页面是否有维护通知,或者该服务是否处于正常运行状态。
内容的提问来源于stack exchange,提问作者deadMilitia
相关产品推荐
相关产品推荐

