我使用了从官方网站下载的Geoserver 2.20,配置了gwc缓存系统,并在全局设置上为缓存和OGC服务启用了层。
当我尝试这个URL时,我得到以下信息:
$ curl 'http://myserver/geoserver/geoserver/gwc/service/wms?SERVICE=WMS&REQUEST=GetMap&BBOX=-180,-90,0,80.33032694475760138&SRS=EPSG:4326&WIDTH=846&HEIGHT=800&LAYERS=ws:mylayer&FORMAT=image/png'
<html>
<head>
<title>GWC Error</title>
<link rel="stylesheet" href="../rest/web/gwc.css" type="text/css"/>
</head>
<body>
<div id="pageHeader"><a id="logo" href="../"><img src="../rest/web/geowebcache_logo.png"/></a></div>
<h4>400: class org.geowebcache.mime.ApplicationMime cannot be cast to class org.geowebcache.mime.ImageMime (org.geowebcache.mime.ApplicationMime and org.geowebcache.mime.ImageMime are in unnamed module of loader org.apache.catalina.loader.ParallelWebappClassLoader @3524ee20)</h4></body></html>
在geoserver.log
中查找这个请求,我得到:
2022-04-27 11:47:04,484 DEBUG [security.IncludeQueryStringAntPathRequestMatcher] - Request matched by universal pattern '/**'
2022-04-27 11:47:04,484 DEBUG [security.IncludeQueryStringAntPathRequestMatcher] - Matched Path: /gwc/service/wms, QueryString: SERVICE=WMS&REQUEST=GetMap&BBOX=-180,-90,0,80.33032694475760138&SRS=EPSG:4326&WIDTH=846&HEIGHT=800&LAYERS=ws:mylayer&FORMAT=image/png with /**
2022-04-27 11:47:04,485 TRACE [ows.OWSHandlerMapping] - Mapped to HandlerExecutionChain with [org.geoserver.ows.Dispatcher@318ec7d2] and 1 interceptors
2022-04-27 11:47:04,486 DEBUG [geoserver.ows] - Could not lookup context gwc as a workspace, trying as group
2022-04-27 11:47:04,486 DEBUG [geoserver.ows] - Could not lookup context gwc as a layer group either
2022-04-27 11:47:04,486 DEBUG [wms.WMSService] - Recombinining tiles to respond to WMS request
2022-04-27 11:47:04,487 ERROR [geowebcache.GeoWebCacheDispatcher] - class org.geowebcache.mime.ApplicationMime cannot be cast to class org.geowebcache.mime.ImageMime (org.geowebcache.mime.ApplicationMime and org.geowebcache.mime.ImageMime are in unnamed module of loader org.apache.catalina.loader.ParallelWebappClassLoader @3524ee20) http://myserver/geoserver/gwc/service/wms
2022-04-27 11:47:04,487 DEBUG [util.ResponseUtils] - class org.geowebcache.mime.ApplicationMime cannot be cast to class org.geowebcache.mime.ImageMime (org.geowebcache.mime.ApplicationMime and org.geowebcache.mime.ImageMime are in unnamed module of loader org.apache.catalina.loader.ParallelWebappClassLoader @3524ee20)
2022-04-27 11:47:04,487 ERROR [geowebcache.GeoWebCacheDispatcher] - Request failed
java.lang.ClassCastException: class org.geowebcache.mime.ApplicationMime cannot be cast to class org.geowebcache.mime.ImageMime (org.geowebcache.mime.ApplicationMime and org.geowebcache.mime.ImageMime are in unnamed module of loader org.apache.catalina.loader.ParallelWebappClassLoader @3524ee20)
at org.geowebcache.service.wms.WMSTileFuser.<init>(WMSTileFuser.java:325)
at org.geowebcache.service.wms.WMSService.getFuser(WMSService.java:356)
...
我已经尝试了另一个网址http://myserver/geoserver/geoserver/ws/gwc/service/wms?SERVICE=WMS&REQUEST=GetMap&BBOX=-180,-90,0,80.33032694475760138&SRS=EPSG:4326&WIDTH=846&HEIGHT=800&LAYERS=ws:mylayer&FORMAT=image/png,不要运行太。
但是,用于同一服务器和层(with)的另一个URL运行ok:http://mysever/geoserver/gwc/demo/ws:mylayer?gridSet=EPSG:4326&format=image/png。
我寻找过这个相关的问题(Geoserver:No such workspace 'gwc/service'),但没有解决我的问题。
我该怎么解决呢?
致以问候。
发布于 2022-05-19 08:28:56
问题在于URL。这是不正确的。
正确的URL必须引用wmts服务而不是wms。
因此,它应该是(对于这个例子):
http://myserver/geoserver/geoserver/gwc/service/wmts?SERVICE=WMS&REQUEST=GetMap&BBOX=-180,-90,0,80.33032694475760138&SRS=EPSG:4326&WIDTH=846&HEIGHT=800&LAYERS=ws:mylayer&FORMAT=image/png
可用层:
http://myserver/geoserver/geoserver/gwc/service/wmts?
致以问候。
https://stackoverflow.com/questions/72026799
复制相似问题