问题描述:使用ArcMap发布了带有切片缓存的地图服务,切片可通过ArcMap加载无误、服务可通过前端js调用无误,但是使用ArcMap加载却只显示空白。(注:非切片服务可以在ArcMap正常加载)
解答:
1、ArcMap加载服务是soap服务,而js调用的url却是rest服务,出现上面情况说明rest服务是正常的,问题出在soap服务的调用。
2、使用Fiddler监控请求,发现将出现bug的切片服务拖入后,出现了红色的失败请求。


从参数可以看出这是一个失败(404)的切片请求。这就定位了该bug错误所在。
3、向上翻看http记录,发现错误记录之前,会有一些成功的记录,即ArcServer定义的GetDefaultMapName的soap服务。

再通过soapUI调试该服务url,发现这个GetDefaultMapName返回值是“图层”, 是错误请求中mapname参数的值,也是切片缓存所在文件夹下的子文件夹名

当使用ArcMap加载带有切片缓存的地图服务时遇到空白显示,问题可能出在SOAP服务调用上。通过Fiddler监控请求,发现404错误的切片请求。问题本质是由于数据框名称(中文)与切片缓存文件夹名不匹配导致。解决方案是修改数据框名称为英文,确保与切片缓存路径一致,或者使用arcpy更新msd文件。官方建议使用sd方式发布服务,以避免此类问题。
最低0.47元/天 解锁文章
1044

被折叠的 条评论
为什么被折叠?



