项目场景
调用geoserver地图服务WMS,找不到图层
我在进行地图服务调用的时候,总是提示我找不多图层 Could not find layer,重点是这个图层我明明是定义了,发布了,且还能够正常查看图层的wms的样式,但是在调用后端调用的时候,总是保报错,真的是奇葩。现将问题的来龙去脉记录并分享给大家,希望大家少踩坑,坑害我好几天(血泪史)。报错信息如下所示:
<?xml version="1.0" encoding="UTF-8" standalone="no"?><!DOCTYPE ServiceExceptionReport SYSTEM "http://localhost:8080/geoserver/schemas/wms/1.1.1/WMS_exception_1_1_1.dtd"> <ServiceExceptionReport version="1.1.1" > <ServiceException code="LayerNotDefined" locator="layers">
Could not find layer Apps:geomview_sdswwbhdwgjj
</ServiceException></ServiceExceptionReport>
服务显示正常状态代码200,调用服务的地址正常,但是在预览和响应中总是提示,找不到图层,如下图所示:
环境说明
- Geoserver 2.23.1
- Windows 10
问题分析及解决方法
之前找不到图层是因为设置了独立的工作空间导致的,这次竟然是因为设置了用户权限,真的是吐了!
取消勾选勾选,问题解决!
小结
这篇文章的主要目的是为了限制图层的访问提供思路。
通过权限添加token,进而限制图层的访问,保证数据的安全。
等我研究明白了如何使用token,会在后续的文章中更新内容,和大家一起进步!!