使用ArcGIS打印服务导出PDF时提示Export Web Map Task执行错误如何解决?
排查解决思路
- 优先校验Web_Map_as_JSON参数合法性
报错扩展码-2147467261对应服务端空指针异常,90%以上的同类错误都是Web_Map_as_JSON参数格式不合法或者包含服务端无法解析的内容导致。你可以把生成的web_map_json完整打印出来,直接粘贴到ArcGIS Server PrintingTools服务的REST接口测试页面执行,验证参数本身是否可用:- 检查所有图层的服务地址是否可以被ArcGIS Server所在服务器正常访问,排除内网隔离、跨域权限、身份验证未携带token的问题
- 检查地图空间参考、比例尺范围是否和打印模板匹配,是否存在图层名、地图要素包含未转义的特殊字符、中文乱码问题
- 检查是否包含已被删除、停止服务的无效图层地址
- 校验请求提交格式正确性
- 抓包查看提交的POST payload,确认
Web_Map_as_JSON没有被二次转义:你先调用JSON.stringify处理,再通过$.param编码,可能会导致引号、斜杠等符号被重复转义,服务端解析JSON失败 - 先固定
Format为PDF、Layout_Template为官方默认的MAP_ONLY测试,排除你自定义的格式、打印模板不存在或配置错误的问题
- 抓包查看提交的POST payload,确认
- 校验服务端权限配置
确认ArcGIS Server的PrintingTools服务有访问你用到的所有地图服务、要素服务的权限,如果你使用的是托管打印服务,需要检查服务权限是否对应用户角色开放 - 排查前端代码问题
你贴出的代码中success回调函数末尾缺少闭合的),如果实际运行代码也存在语法错误,会导致参数封装异常,先修复语法问题后再重试
内容的提问来源于stack exchange,提问作者Rajasirpi
相关产品推荐
相关产品推荐

