4

I have installed GeoServer 2.16 on Ubuntu 18 using the directions Here.

When I go to the Layer Preview and try to access one of the built-in demo layers (topp:states) from the admin interface, I end up getting a file with the following:

      Error occurred decoding the espg code EPSG:4326/kml?layers=topp:states
No code "EPSG:4326/KML?LAYERS=TOPP:STATES" from authority "European Petroleum Survey Group" found for object of type "IdentifiedObject".
</ServiceException></ServiceExceptionReport>

Whereas I expect to get a kml file based on the documentation here

It seems like the URL is not being read correctly and the EPSG code is read asEPSG:4326/kml?layers=topp:states instead of just EPSG:4326, which is a similar problem as is happening Here but I am using the example files, which should work out of the box.

This is what I get when I lauch GeoServer:

GEOSERVER DATA DIR is /usr/share/geoserver/data_dir
2020-01-10 12:00:02.929:INFO::main: Logging initialized @248ms to org.eclipse.jetty.util.log.StdErrLog
2020-01-10 12:00:03.072:WARN:oejx.XmlConfiguration:main: Property 'jetty.port' is deprecated, use 'jetty.http.port' instead
2020-01-10 12:00:03.073:WARN:oejx.XmlConfiguration:main: Property 'http.timeout' is deprecated, use 'jetty.http.idleTimeout' instead
2020-01-10 12:00:03.078:INFO:oejs.Server:main: jetty-9.4.18.v20190429; built: 2019-04-29T20:42:08.989Z; git: e1bc35120a6617ee3df052294e433f3a25ce7097; jvm 1.8.0_232-8u232-b09-0ubuntu1~18.04.1-b09
2020-01-10 12:00:03.093:INFO:oejdp.ScanningAppProvider:main: Deployment monitor [file:///usr/share/geoserver/webapps/] at interval 1
2020-01-10 12:00:03.428:INFO:oejw.StandardDescriptorProcessor:main: NO JSP Support for /geoserver, did not find org.eclipse.jetty.jsp.JettyJspServlet
2020-01-10 12:00:03.786:INFO:oejs.session:main: DefaultSessionIdManager workerName=node0
2020-01-10 12:00:03.786:INFO:oejs.session:main: No SessionScavenger set, using defaults
2020-01-10 12:00:03.787:INFO:oejs.session:main: node0 Scavenging every 600000ms
Jan 10, 2020 12:00:04 PM org.geoserver.platform.GeoServerExtensions checkContext
WARNING: Extension lookup 'XStreamPersisterInitializer', but ApplicationContext is unset.
Jan 10, 2020 12:00:04 PM org.geoserver.platform.GeoServerExtensions checkContext
WARNING: Extension lookup 'ExtensionFilter', but ApplicationContext is unset.
Jan 10, 2020 12:00:04 PM org.geoserver.platform.GeoServerExtensions checkContext
WARNING: Extension lookup 'ExtensionProvider', but ApplicationContext is unset.
Jan 10, 2020 12:00:04 PM org.geoserver.platform.GeoServerExtensions checkContext
WARNING: Extension lookup 'ExtensionFilter', but ApplicationContext is unset.
10 Jan 12:00:04 WARN [geoserver.logging] - log4jConfigFile 'DEFAULT_LOGGING.properties' couldn't be found in the data dir, so GeoServer will install the various logging config file into the data dir, and then try to find it again.
log4j:WARN File option not set for appender [geoserverlogfile].
log4j:WARN Are you using FileAppender instead of ConsoleAppender?
2020-01-10 12:00:04.404:INFO:oejshC.geoserver:main: Initializing Spring root WebApplicationContext
Jan 10, 2020 12:00:06 PM org.geoserver.platform.GeoServerExtensions checkContext
WARNING: Extension lookup 'GeoServerSecurityProvider', but ApplicationContext is unset.
Jan 10, 2020 12:00:06 PM org.geoserver.platform.GeoServerExtensions checkContext
WARNING: Extension lookup 'ExtensionFilter', but ApplicationContext is unset.
Jan 10, 2020 12:00:06 PM org.geoserver.platform.GeoServerExtensions checkContext
WARNING: Extension lookup 'ExtensionProvider', but ApplicationContext is unset.
Jan 10, 2020 12:00:06 PM org.geoserver.platform.GeoServerExtensions checkContext
WARNING: Extension lookup 'ExtensionFilter', but ApplicationContext is unset.
10 Jan 12:00:06 INFO [org.geoserver] - GeoServer configuration lock is enabled
10 Jan 12:00:06 INFO [org.geoserver] - Loading catalog...
10 Jan 12:00:06 INFO [org.geoserver] - Loaded style 'raster'
10 Jan 12:00:06 INFO [org.geoserver] - Loaded style 'generic'
10 Jan 12:00:06 INFO [org.geoserver] - Loaded style 'line'
10 Jan 12:00:06 INFO [org.geoserver] - Loaded style 'burg'
10 Jan 12:00:06 INFO [org.geoserver] - Loaded style 'poi'
10 Jan 12:00:06 INFO [org.geoserver] - Loaded style 'point'
10 Jan 12:00:06 INFO [org.geoserver] - Loaded style 'green'
10 Jan 12:00:06 INFO [org.geoserver] - Loaded style 'population'
10 Jan 12:00:06 INFO [org.geoserver] - Loaded style 'poly_landmarks'
10 Jan 12:00:06 INFO [org.geoserver] - Loaded style 'simple_streams'
10 Jan 12:00:06 INFO [org.geoserver] - Loaded style 'rain'
10 Jan 12:00:06 INFO [org.geoserver] - Loaded style 'grass'
10 Jan 12:00:06 INFO [org.geoserver] - Loaded style 'cite_lakes'
10 Jan 12:00:06 INFO [org.geoserver] - Loaded style 'tiger_roads'
10 Jan 12:00:06 INFO [org.geoserver] - Loaded style 'restricted'
10 Jan 12:00:06 INFO [org.geoserver] - Loaded style 'pophatch'
10 Jan 12:00:06 INFO [org.geoserver] - Loaded style 'capitals'
10 Jan 12:00:06 INFO [org.geoserver] - Loaded style 'dem'
10 Jan 12:00:06 INFO [org.geoserver] - Loaded style 'simple_roads'
10 Jan 12:00:06 INFO [org.geoserver] - Loaded style 'polygon'
10 Jan 12:00:06 INFO [org.geoserver] - Loaded style 'giant_polygon'
10 Jan 12:00:06 INFO [org.geoserver] - Loaded default workspace cite
10 Jan 12:00:06 INFO [org.geoserver] - Loaded workspace 'sde'
10 Jan 12:00:06 INFO [org.geoserver] - Loaded workspace 'it.geosolutions'
10 Jan 12:00:06 INFO [org.geoserver] - Loaded workspace 'tiger'
10 Jan 12:00:06 INFO [org.geoserver] - Loaded workspace 'nurc'
10 Jan 12:00:06 INFO [org.geoserver] - Loaded workspace 'topp'
10 Jan 12:00:06 INFO [org.geoserver] - Loaded workspace 'cite'
10 Jan 12:00:06 INFO [org.geoserver] - Loaded workspace 'sf'
10 Jan 12:00:07 INFO [org.geoserver] - Loaded data store 'nyc', enabled
10 Jan 12:00:08 INFO [org.geoserver] - Loaded feature type 'tiger_roads', enabled
10 Jan 12:00:08 INFO [org.geoserver] - Loaded layer 'tiger_roads'
10 Jan 12:00:08 INFO [org.geoserver] - Loaded feature type 'giant_polygon', enabled
10 Jan 12:00:08 INFO [org.geoserver] - Loaded layer 'giant_polygon'
10 Jan 12:00:08 INFO [org.geoserver] - Loaded feature type 'poi', enabled
10 Jan 12:00:08 INFO [org.geoserver] - Loaded layer 'poi'
10 Jan 12:00:08 INFO [org.geoserver] - Loaded feature type 'poly_landmarks', enabled
10 Jan 12:00:08 INFO [org.geoserver] - Loaded layer 'poly_landmarks'
10 Jan 12:00:08 INFO [org.geoserver] - Loaded coverage store 'arcGridSample', enabled
10 Jan 12:00:08 INFO [org.geoserver] - Loaded coverage 'Arc_Sample', enabled
10 Jan 12:00:08 INFO [org.geoserver] - Loaded layer 'Arc_Sample'
10 Jan 12:00:08 INFO [org.geoserver] - Loaded coverage store 'img_sample2', enabled
10 Jan 12:00:08 INFO [org.geoserver] - Loaded coverage 'Pk50095', enabled
10 Jan 12:00:08 INFO [org.geoserver] - Loaded layer 'Pk50095'
10 Jan 12:00:08 INFO [org.geoserver] - Loaded coverage store 'mosaic', enabled
10 Jan 12:00:08 INFO [org.geoserver] - Loaded coverage 'mosaic', enabled
10 Jan 12:00:08 INFO [org.geoserver] - Loaded layer 'mosaic'
10 Jan 12:00:08 INFO [org.geoserver] - Loaded coverage store 'worldImageSample', enabled
10 Jan 12:00:08 INFO [org.geoserver] - Loaded coverage 'Img_Sample', enabled
10 Jan 12:00:08 INFO [org.geoserver] - Loaded layer 'Img_Sample'
10 Jan 12:00:08 INFO [org.geoserver] - Loaded data store 'taz_shapes', enabled
10 Jan 12:00:08 INFO [org.geoserver] - Loaded feature type 'tasmania_roads', enabled
10 Jan 12:00:08 INFO [org.geoserver] - Loaded layer 'tasmania_roads'
10 Jan 12:00:08 INFO [org.geoserver] - Loaded feature type 'tasmania_cities', enabled
10 Jan 12:00:08 INFO [org.geoserver] - Loaded layer 'tasmania_cities'
10 Jan 12:00:08 INFO [org.geoserver] - Loaded feature type 'tasmania_water_bodies', enabled
10 Jan 12:00:08 INFO [org.geoserver] - Loaded layer 'tasmania_water_bodies'
10 Jan 12:00:08 INFO [org.geoserver] - Loaded feature type 'tasmania_state_boundaries', enabled
10 Jan 12:00:08 INFO [org.geoserver] - Loaded layer 'tasmania_state_boundaries'
10 Jan 12:00:08 INFO [org.geoserver] - Loaded data store 'states_shapefile', enabled
10 Jan 12:00:08 INFO [org.geoserver] - Loaded feature type 'states', enabled
10 Jan 12:00:08 INFO [org.geoserver] - Loaded layer 'states'
10 Jan 12:00:08 INFO [org.geoserver] - Loaded data store 'sf', enabled
10 Jan 12:00:08 INFO [org.geoserver] - Loaded feature type 'roads', enabled
10 Jan 12:00:08 INFO [org.geoserver] - Loaded layer 'roads'
10 Jan 12:00:08 INFO [org.geoserver] - Loaded feature type 'bugsites', enabled
10 Jan 12:00:08 INFO [org.geoserver] - Loaded layer 'bugsites'
10 Jan 12:00:08 INFO [org.geoserver] - Loaded feature type 'restricted', enabled
10 Jan 12:00:08 INFO [org.geoserver] - Loaded layer 'restricted'
10 Jan 12:00:08 INFO [org.geoserver] - Loaded feature type 'streams', enabled
10 Jan 12:00:08 INFO [org.geoserver] - Loaded layer 'streams'
10 Jan 12:00:08 INFO [org.geoserver] - Loaded feature type 'archsites', enabled
10 Jan 12:00:08 INFO [org.geoserver] - Loaded layer 'archsites'
10 Jan 12:00:08 INFO [org.geoserver] - Loaded coverage store 'sfdem', enabled
10 Jan 12:00:08 INFO [org.geoserver] - Loaded coverage 'sfdem', enabled
10 Jan 12:00:08 INFO [org.geoserver] - Loaded layer 'sfdem'
10 Jan 12:00:08 INFO [org.geoserver] - Loaded layer group 'tasmania'
10 Jan 12:00:08 INFO [org.geoserver] - Loaded layer group 'tiger-ny'
10 Jan 12:00:08 INFO [org.geoserver] - Loaded layer group 'spearfish'
10 Jan 12:00:08 INFO [org.geoserver] - Read catalog in 2.171 s
10 Jan 12:00:08 INFO [org.geoserver] - Loaded service 'WMTSInfoImpl--22b054bc:16f90661ce7:-8000', enabled
10 Jan 12:00:08 INFO [org.geoserver] - Loaded service 'wcs', enabled
10 Jan 12:00:08 INFO [org.geoserver] - Loaded service 'wfs', enabled
10 Jan 12:00:08 INFO [org.geoserver] - Loaded service 'wms', enabled
10 Jan 12:00:08 INFO [config.GeoserverXMLResourceProvider] - Will look for 'geowebcache.xml' in directory '/usr/share/geoserver/data_dir/gwc'.
10 Jan 12:00:08 WARN [config.GeoserverXMLResourceProvider] - Found no configuration file in config directory, will create one at 'gwc/geowebcache.xml' from template jar:file:/usr/share/geoserver/webapps/geoserver/WEB-INF/lib/gwc-core-1.16.1.jar!/geowebcache_empty.xml
10 Jan 12:00:08 INFO [config.GeoserverXMLResourceProvider] - Found configuration file in gwc
10 Jan 12:00:08 INFO [config.GeoserverXMLResourceProvider] - Found configuration file in gwc
10 Jan 12:00:08 WARN [config.XMLConfiguration] - ********************************************************************************
10 Jan 12:00:08 WARN [config.XMLConfiguration] - *** GWC configuration validation error: cvc-elt.1: Cannot find the declaration of element 'gwcConfiguration'.
10 Jan 12:00:08 WARN [config.XMLConfiguration] - *** Will try to use configuration anyway. Please check the order of declared elements against the schema.
10 Jan 12:00:08 WARN [config.XMLConfiguration] - ********************************************************************************
10 Jan 12:00:09 INFO [config.XMLConfiguration] - Initializing GridSets from gwc
10 Jan 12:00:09 INFO [config.XMLConfiguration] - Initializing layers from gwc
10 Jan 12:00:09 INFO [gwc.layer] - Initializing GWC configuration based on GeoServer's Catalog
10 Jan 12:00:09 INFO [gwc.layer] - GeoServer TileLayer store base directory is: gwc-layers
10 Jan 12:00:09 INFO [gwc.layer] - Loading tile layers from gwc-layers
10 Jan 12:00:09 INFO [gwc.layer] - Loaded 0 tile layers in 1.204 ms
10 Jan 12:00:09 INFO [storage.BlobStoreAggregator] - BlobStoreConfiguration gwc contained no blob store infos.
10 Jan 12:00:09 INFO [storage.DefaultStorageFinder] - ********************************************************************************************************************************
10 Jan 12:00:09 INFO [storage.DefaultStorageFinder] - *** Found Java environment variable GEOSERVER_DATA_DIR set to /usr/share/geoserver/data_dir, using it as the default prefix. ***
10 Jan 12:00:09 INFO [storage.DefaultStorageFinder] - ********************************************************************************************************************************
10 Jan 12:00:09 INFO [gwc.config] - Initializing GeoServer specific GWC configuration from gwc-gs.xml
10 Jan 12:00:09 INFO [config.GeoserverXMLResourceProvider] - Will look for 'geowebcache-diskquota.xml' in directory '/usr/share/geoserver/data_dir/gwc'.
10 Jan 12:00:09 INFO [config.GeoserverXMLResourceProvider] - Will look for 'geowebcache-diskquota-jdbc.xml' in directory '/usr/share/geoserver/data_dir/gwc'.
10 Jan 12:00:09 INFO [diskquota.ConfigLoader] - DiskQuota configuration is not readable: gwc/geowebcache-diskquota.xml
10 Jan 12:00:09 INFO [diskquota.ConfigLoader] - DiskQuota configuration is not readable: gwc/geowebcache-diskquota.xml
10 Jan 12:00:09 INFO [diskquota.DiskQuotaMonitor] - Setting up disk quota periodic enforcement task
10 Jan 12:00:09 INFO [diskquota.DiskQuotaMonitor] - 0 layers configured with their own quotas. 
10 Jan 12:00:09 INFO [diskquota.DiskQuotaMonitor] - 22 layers attached to global quota 500.0 MB
10 Jan 12:00:09 INFO [diskquota.DiskQuotaMonitor] - Disk quota periodic enforcement task set up every 10 SECONDS
10 Jan 12:00:09 INFO [geowebcache.GeoWebCacheDispatcher] - Invoked setServletPrefix(gwc)
10 Jan 12:00:09 INFO [georss.GeoRSSPoller] - Initializing GeoRSS poller in a background job...
10 Jan 12:00:09 INFO [georss.GeoRSSPoller] - No enabled GeoRSS feeds found, poller will not run.
10 Jan 12:00:10 INFO [wms.WMSService] - Will NOT recombine tiles for non-tiling clients.
10 Jan 12:00:10 INFO [wms.WMSService] - Will proxy requests to backend that are not getmap or getcapabilities.
10 Jan 12:00:11 WARN [gce.imagemosaic] - Unable to set ordering between tiff readers spi
10 Jan 12:00:15 INFO [geoserver.security] - AuthenticationCache Initialized with 1000 Max Entries, 300 seconds idle time, 600 seconds time to live and 3 concurrency level
10 Jan 12:00:15 INFO [geoserver.security] - AuthenticationCache Eviction Task created to run every 600 seconds
10 Jan 12:00:15 INFO [geoserver.security] - Start reloading user/groups for service named default
10 Jan 12:00:15 INFO [geoserver.security] - Reloading user/groups successful for service named default
2020-01-10 12:00:16.175:INFO:oejsh.ContextHandler:main: Started o.e.j.w.WebAppContext@56235b8e{GeoServer,/geoserver,file:///usr/share/geoserver/webapps/geoserver/,AVAILABLE}{/geoserver}
2020-01-10 12:00:16.193:INFO:oejs.AbstractConnector:main: Started ServerConnector@33903444{HTTP/1.1,[http/1.1]}{0.0.0.0:8080}
2020-01-10 12:00:16.194:INFO:oejs.Server:main: Started @13512ms

and when I actually request the KML the log shows:

org.geoserver.platform.ServiceException: Error occurred decoding the espg code EPSG:4326/kml?layers=topp:states
    at org.geoserver.wms.map.GetMapKvpRequestReader.read(GetMapKvpRequestReader.java:266)
    at org.geoserver.wms.map.GetMapKvpRequestReader.read(GetMapKvpRequestReader.java:90)
    at org.geoserver.ows.Dispatcher.parseRequestKVP(Dispatcher.java:1545)
    at org.geoserver.ows.Dispatcher.dispatch(Dispatcher.java:692)
    at org.geoserver.ows.Dispatcher.handleRequestInternal(Dispatcher.java:255)
    at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:177)
    at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:52)
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1038)
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:942)
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:998)
    at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:890)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:687)
    at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:875)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:873)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1623)
    at org.geoserver.filters.ThreadLocalsCleanupFilter.doFilter(ThreadLocalsCleanupFilter.java:26)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610)
    at org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:69)
    at org.geoserver.wms.animate.AnimatorFilter.doFilter(AnimatorFilter.java:73)
    at org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:66)
    at org.geoserver.filters.SpringDelegatingFilter.doFilter(SpringDelegatingFilter.java:41)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610)
    at org.geoserver.platform.AdvancedDispatchFilter.doFilter(AdvancedDispatchFilter.java:37)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:320)
    at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:70)
    at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:127)
    at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:91)
    at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:74)
    at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:91)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
    at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:70)
    at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:119)
    at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:74)
    at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:91)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
    at org.geoserver.security.filter.GeoServerAnonymousAuthenticationFilter.doFilter(GeoServerAnonymousAuthenticationFilter.java:51)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
    at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:70)
    at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:158)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:74)
    at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:91)
    at org.geoserver.security.filter.GeoServerBasicAuthenticationFilter.doFilter(GeoServerBasicAuthenticationFilter.java:81)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
    at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:70)
    at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105)
    at org.geoserver.security.filter.GeoServerSecurityContextPersistenceFilter$1.doFilter(GeoServerSecurityContextPersistenceFilter.java:52)
    at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:74)
    at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:91)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
    at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:215)
    at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:178)
    at org.geoserver.security.GeoServerSecurityFilterChainProxy.doFilter(GeoServerSecurityFilterChainProxy.java:142)
    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:357)
    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:270)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610)
    at org.geoserver.filters.LoggingFilter.doFilter(LoggingFilter.java:101)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610)
    at org.geoserver.filters.XFrameOptionsFilter.doFilter(XFrameOptionsFilter.java:79)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610)
    at org.geoserver.filters.GZIPFilter.doFilter(GZIPFilter.java:47)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610)
    at org.geoserver.filters.SessionDebugFilter.doFilter(SessionDebugFilter.java:46)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610)
    at org.geoserver.filters.FlushSafeFilter.doFilter(FlushSafeFilter.java:42)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610)
    at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1602)
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:540)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
    at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1700)
    at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1345)
    at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:480)
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1667)
    at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1247)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
    at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:220)
    at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:152)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
    at org.eclipse.jetty.server.Server.handle(Server.java:505)
    at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:370)
    at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:267)
    at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
    at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
    at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
    at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:698)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:804)
    at java.lang.Thread.run(Thread.java:748)
Caused by: org.opengis.referencing.NoSuchAuthorityCodeException: No code "EPSG:4326/KML?LAYERS=TOPP:STATES" from authority "European Petroleum Survey Group" found for object of type "IdentifiedObject".
    at org.geotools.referencing.factory.AbstractAuthorityFactory.noSuchAuthorityCode(AbstractAuthorityFactory.java:874)
    at org.geotools.referencing.factory.PropertyAuthorityFactory.getWKT(PropertyAuthorityFactory.java:289)
    at org.geotools.referencing.factory.PropertyAuthorityFactory.createCoordinateReferenceSystem(PropertyAuthorityFactory.java:358)
    at org.geotools.referencing.factory.BufferedAuthorityFactory.createCoordinateReferenceSystem(BufferedAuthorityFactory.java:731)
    at org.geotools.referencing.factory.AuthorityFactoryAdapter.createCoordinateReferenceSystem(AuthorityFactoryAdapter.java:779)
    at org.geotools.referencing.factory.FallbackAuthorityFactory.createCoordinateReferenceSystem(FallbackAuthorityFactory.java:624)
    at org.geotools.referencing.factory.AuthorityFactoryAdapter.createCoordinateReferenceSystem(AuthorityFactoryAdapter.java:779)
    at org.geotools.referencing.factory.ThreadedAuthorityFactory.createCoordinateReferenceSystem(ThreadedAuthorityFactory.java:635)
    at org.geotools.referencing.DefaultAuthorityFactory.createCoordinateReferenceSystem(DefaultAuthorityFactory.java:176)
    at org.geotools.referencing.CRS.decode(CRS.java:517)
    at org.geotools.referencing.CRS.decode(CRS.java:433)
    at org.geoserver.wms.map.GetMapKvpRequestReader.read(GetMapKvpRequestReader.java:258)
    ... 101 more

1
  • 1
    I had this same problem and traced it back to the 2020-01-10 12:00:03.428:INFO:oejw.StandardDescriptorProcessor:main: NO JSP Support for /geoserver, did not find org.eclipse.jetty.jsp.JettyJspServlet line in the startup
    – not_a_NaN
    Commented Jan 10, 2020 at 17:33

1 Answer 1

5

You are right. The layer preview interface creates an invalid WMS GetMap request

http://localhost:8080/geoserver/topp/wms?service=WMS&version=1.1.0&request=GetMap&layers=topp%3Astates&bbox=-124.73142200000001%2C24.955967%2C-66.969849%2C49.371735&width=768&height=330&srs=EPSG%3A4326/kml?layers=topp:states

Edit it a bit after the srs part and it will work

http://localhost:8080/geoserver/topp/wms?service=WMS&version=1.1.0&request=GetMap&layers=topp%3Astates&bbox=-124.73142200000001%2C24.955967%2C-66.969849%2C49.371735&width=768&height=330&srs=EPSG%3A4326&format=kml&layers=topp:states

The issue seems to be a regression in GeoServer 2.16 because there is no error in version 2.14.2 that makes a request in a quite different way

http://localhost:8080/geoserver/topp/wms/kml?layers=topp:states

It seems that there has been a plan to improve the demo query but everything did not go totally right.

I think that you have enough detais for creating a ticket to the GeoServer Jira https://osgeo-org.atlassian.net/projects/GEOS/summary.

3

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.