You need to tell GeoServer which column to use as a primary key -
https://docs.geoserver.org/latest/en/user/data/database/primarykey.html

Ian

On Tue, 10 Aug 2021 at 12:19, celati Laurent <laurent.cel...@gmail.com>
wrote:

> Good morning,
>
> I succeed in loading into geoserver a  Postgis materialized view.
> With qgis, no problem for display the data in WMS .
> But the data does not display with WFS.
> I paste below the log. Geoserver logs seems to deal with especially to : 
> "Caused
> by: java.io.IOException: Cannot do natural order without a primary key,
> please add it or specify a manual sort over existing attributes".
> According to you, it would be the main reason explaining the issue? If yes
> How to specify a manual sort order ? Or how to create a primary key on a
> materialized view which might be recognized by geoserver ?
> Thanks a lot.
>
> *Please fond below QGIS log : *
>
>
>  2021-08-10T12:04:48     WARNING    Le téléchargement des entités à
> échoué: Error transferring
> https://sig-geo-prd.andra.fr/geoserver/andra/wfs?SERVICE=WFS&REQUEST=GetFeature&VERSION=2.0.0&TYPENAMES=andra:bdd_forages_ouvrages&TYPENAME=andra:bdd_forages_ouvrages&STARTINDEX=0&COUNT=1000000&SRSNAME=urn:ogc:def:crs:EPSG::2154&BBOX=1344789.26224076747894287,6375548.67891552019864321,2060610.88769835303537548,6698990.50836040545254946,urn:ogc:def:crs:EPSG::2154
> - server replied:
>
>
> *Please find below Geoserver log : *
>
>
> 2021-08-10 12:04:48,736 INFO [geoserver.wfs] -
> Request: getServiceInfo
> 2021-08-10 12:04:48,736 INFO [geoserver.wfs] -
> Request: getFeature
>     service = WFS
>     version = 2.0.0
>     baseUrl = https://sig-geo-prd.andra.fr/geoserver/
>     count = 1000000
>     outputFormat = application/gml+xml; version=3.2
>     resolve = none
>     resolveDepth = *
>     resolveTimeout = 300
>     resultType = results
>     startIndex = 0
>     abstractQueryExpressionGroup[0] =
> wfs:abstractQueryExpression=net.opengis.wfs20.impl.QueryTypeImpl@51ac097e
> (handle: null) (abstractProjectionClause: null, abstractSelectionClause: [
>  bbox ReferencedEnvelope[1344789.2622407675 : 2060610.887698353,
> 6375548.67891552 : 6698990.508360405] ], abstractSortingClause: null,
> aliases: null, typeNames: [{andra}bdd_forages_ouvrages]) (featureVersion:
> null, srsName: urn:ogc:def:crs:EPSG::2154, filter: null, propertyNames:
> null, sortBy: null)
>     abstractQueryExpression[0]:
>         abstractSelectionClause = [  bbox
> ReferencedEnvelope[1344789.2622407675 : 2060610.887698353, 6375548.67891552
> : 6698990.508360405] ]
>         typeNames[0] = {andra}bdd_forages_ouvrages
>         srsName = urn:ogc:def:crs:EPSG::2154
>         filter = [  bbox ReferencedEnvelope[1344789.2622407675 :
> 2060610.887698353, 6375548.67891552 : 6698990.508360405] ]
> 2021-08-10 12:04:48,736 INFO [geoserver.servlets] - OutputStream was
> successfully aborted.
> 2021-08-10 12:04:48,736 ERROR [geoserver.ows] -
> java.lang.RuntimeException: Failed to get property: {
> http://www.opengis.net/wfs/2.0}boundedBy
> at
> org.geotools.xsd.impl.GetPropertyExecutor.visit(GetPropertyExecutor.java:102)
> at
> org.geotools.xsd.impl.BindingWalker$BindingExecutionChain.execute(BindingWalker.java:220)
> at org.geotools.xsd.impl.BindingWalker.walk(BindingWalker.java:186)
> at
> org.geotools.xsd.impl.BindingVisitorDispatch.walk(BindingVisitorDispatch.java:65)
> at
> org.geotools.xsd.impl.BindingVisitorDispatch.walk(BindingVisitorDispatch.java:45)
> at
> org.geotools.xsd.impl.BindingPropertyExtractor.properties(BindingPropertyExtractor.java:92)
> at org.geotools.xsd.Encoder.encode(Encoder.java:988)
> at org.geotools.xsd.Encoder.encode(Encoder.java:549)
> at
> org.geoserver.wfs.xml.GML32OutputFormat.encode(GML32OutputFormat.java:151)
> at org.geoserver.wfs.xml.GML3OutputFormat.write(GML3OutputFormat.java:314)
> at
> org.geoserver.wfs.WFSGetFeatureOutputFormat.write(WFSGetFeatureOutputFormat.java:195)
> at org.geoserver.ows.Dispatcher.response(Dispatcher.java:1030)
> at org.geoserver.ows.Dispatcher.handleRequestInternal(Dispatcher.java:269)
> 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:1040)
> at
> org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943)
> at
> org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
> at
> org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:626)
> at
> org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
> at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
> at
> org.geoserver.filters.ThreadLocalsCleanupFilter.doFilter(ThreadLocalsCleanupFilter.java:26)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
> at
> org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:69)
> at
> org.geoserver.wms.animate.AnimatorFilter.doFilter(AnimatorFilter.java:70)
> at
> org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:66)
> at
> org.geoserver.filters.SpringDelegatingFilter.doFilter(SpringDelegatingFilter.java:41)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
> at
> org.geoserver.platform.AdvancedDispatchFilter.doFilter(AdvancedDispatchFilter.java:37)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
> 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:119)
> 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:358)
> at
> org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
> at org.geoserver.filters.LoggingFilter.doFilter(LoggingFilter.java:101)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
> at
> org.geoserver.filters.XFrameOptionsFilter.doFilter(XFrameOptionsFilter.java:77)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
> at org.geoserver.filters.GZIPFilter.doFilter(GZIPFilter.java:47)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
> at
> org.geoserver.filters.SessionDebugFilter.doFilter(SessionDebugFilter.java:46)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
> at org.geoserver.filters.FlushSafeFilter.doFilter(FlushSafeFilter.java:42)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
> at
> org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
> at
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
> at
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:667)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
> at
> org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:690)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
> at
> org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374)
> at
> org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
> at
> org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:888)
> at
> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1597)
> at
> org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
> at
> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
> at java.lang.Thread.run(Unknown Source)
> Caused by: java.lang.RuntimeException: java.io.IOException
> at
> org.geotools.data.store.ContentFeatureCollection.features(ContentFeatureCollection.java:165)
> at
> org.geotools.data.store.ContentFeatureCollection.features(ContentFeatureCollection.java:52)
> at
> org.geotools.data.crs.ReprojectFeatureResults.openIterator(ReprojectFeatureResults.java:92)
> at
> org.geotools.feature.collection.AbstractFeatureCollection.features(AbstractFeatureCollection.java:65)
> at
> org.geotools.data.crs.ReprojectFeatureResults.getBounds(ReprojectFeatureResults.java:163)
> at
> org.geotools.feature.collection.DecoratingFeatureCollection.getBounds(DecoratingFeatureCollection.java:87)
> at
> org.geotools.feature.collection.DecoratingSimpleFeatureCollection.getBounds(DecoratingSimpleFeatureCollection.java:92)
> at
> org.geotools.wfs.bindings.WFSParsingUtils.FeatureCollectionType_getProperty(WFSParsingUtils.java:90)
> at
> org.geotools.wfs.v2_0.FeatureCollectionTypeBinding.getProperty(FeatureCollectionTypeBinding.java:100)
> at
> org.geotools.xsd.impl.GetPropertyExecutor.visit(GetPropertyExecutor.java:100)
> ... 108 more
> Caused by: java.io.IOException
> at
> org.geotools.jdbc.JDBCFeatureSource.getReaderInternal(JDBCFeatureSource.java:627)
> at
> org.geotools.data.store.ContentFeatureSource.getReader(ContentFeatureSource.java:619)
> at
> org.geotools.data.store.ContentFeatureCollection.features(ContentFeatureCollection.java:163)
> ... 117 more
> Caused by: java.io.IOException: Cannot do natural order without a primary
> key, please add it or specify a manual sort over existing attributes
> at org.geotools.jdbc.JDBCDataStore.sort(JDBCDataStore.java:3518)
> at org.geotools.jdbc.JDBCDataStore.selectSQL(JDBCDataStore.java:3354)
> at
> org.geotools.jdbc.JDBCFeatureSource.getReaderInternal(JDBCFeatureSource.java:594)
> ... 119 more
> 2021-08-10 12:04:48,767 INFO [geoserver.wfs] -
> Request: getServiceInfo
> 2021-08-10 12:04:48,767 INFO [geoserver.wfs] -
> Request: getFeature
>     service = WFS
>     version = 2.0.0
>     baseUrl = https://sig-geo-prd.andra.fr/geoserver/
>     count = 1000000
>     outputFormat = application/gml+xml; version=3.2
>     resolve = none
>     resolveDepth = *
>     resolveTimeout = 300
>     resultType = results
>     startIndex = 0
>     abstractQueryExpressionGroup[0] =
> wfs:abstractQueryExpression=net.opengis.wfs20.impl.QueryTypeImpl@387c7f8c
> (handle: null) (abstractProjectionClause: null, abstractSelectionClause: [
>  bbox ReferencedEnvelope[1344789.2622407675 : 2060610.887698353,
> 6375548.67891552 : 6698990.508360405] ], abstractSortingClause: null,
> aliases: null, typeNames: [{andra}bdd_forages_ouvrages]) (featureVersion:
> null, srsName: urn:ogc:def:crs:EPSG::2154, filter: null, propertyNames:
> null, sortBy: null)
>     abstractQueryExpression[0]:
>         abstractSelectionClause = [  bbox
> ReferencedEnvelope[1344789.2622407675 : 2060610.887698353, 6375548.67891552
> : 6698990.508360405] ]
>         typeNames[0] = {andra}bdd_forages_ouvrages
>         srsName = urn:ogc:def:crs:EPSG::2154
>         filter = [  bbox ReferencedEnvelope[1344789.2622407675 :
> 2060610.887698353, 6375548.67891552 : 6698990.508360405] ]
> 2021-08-10 12:04:48,783 INFO [geoserver.servlets] - OutputStream was
> successfully aborted.
> 2021-08-10 12:04:48,783 ERROR [geoserver.ows] -
> java.lang.RuntimeException: Failed to get property: {
> http://www.opengis.net/wfs/2.0}boundedBy
> at
> org.geotools.xsd.impl.GetPropertyExecutor.visit(GetPropertyExecutor.java:102)
> at
> org.geotools.xsd.impl.BindingWalker$BindingExecutionChain.execute(BindingWalker.java:220)
> at org.geotools.xsd.impl.BindingWalker.walk(BindingWalker.java:186)
> at
> org.geotools.xsd.impl.BindingVisitorDispatch.walk(BindingVisitorDispatch.java:65)
> at
> org.geotools.xsd.impl.BindingVisitorDispatch.walk(BindingVisitorDispatch.java:45)
> at
> org.geotools.xsd.impl.BindingPropertyExtractor.properties(BindingPropertyExtractor.java:92)
> at org.geotools.xsd.Encoder.encode(Encoder.java:988)
> at org.geotools.xsd.Encoder.encode(Encoder.java:549)
> at
> org.geoserver.wfs.xml.GML32OutputFormat.encode(GML32OutputFormat.java:151)
> at org.geoserver.wfs.xml.GML3OutputFormat.write(GML3OutputFormat.java:314)
> at
> org.geoserver.wfs.WFSGetFeatureOutputFormat.write(WFSGetFeatureOutputFormat.java:195)
> at org.geoserver.ows.Dispatcher.response(Dispatcher.java:1030)
> at org.geoserver.ows.Dispatcher.handleRequestInternal(Dispatcher.java:269)
> 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:1040)
> at
> org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943)
> at
> org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
> at
> org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:626)
> at
> org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
> at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
> at
> org.geoserver.filters.ThreadLocalsCleanupFilter.doFilter(ThreadLocalsCleanupFilter.java:26)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
> at
> org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:69)
> at
> org.geoserver.wms.animate.AnimatorFilter.doFilter(AnimatorFilter.java:70)
> at
> org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:66)
> at
> org.geoserver.filters.SpringDelegatingFilter.doFilter(SpringDelegatingFilter.java:41)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
> at
> org.geoserver.platform.AdvancedDispatchFilter.doFilter(AdvancedDispatchFilter.java:37)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
> 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:119)
> 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:358)
> at
> org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
> at org.geoserver.filters.LoggingFilter.doFilter(LoggingFilter.java:101)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
> at
> org.geoserver.filters.XFrameOptionsFilter.doFilter(XFrameOptionsFilter.java:77)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
> at org.geoserver.filters.GZIPFilter.doFilter(GZIPFilter.java:47)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
> at
> org.geoserver.filters.SessionDebugFilter.doFilter(SessionDebugFilter.java:46)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
> at org.geoserver.filters.FlushSafeFilter.doFilter(FlushSafeFilter.java:42)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
> at
> org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
> at
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
> at
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:667)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
> at
> org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:690)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
> at
> org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374)
> at
> org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
> at
> org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:888)
> at
> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1597)
> at
> org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
> at
> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
> at java.lang.Thread.run(Unknown Source)
> Caused by: java.lang.RuntimeException: java.io.IOException
> at
> org.geotools.data.store.ContentFeatureCollection.features(ContentFeatureCollection.java:165)
> at
> org.geotools.data.store.ContentFeatureCollection.features(ContentFeatureCollection.java:52)
> at
> org.geotools.data.crs.ReprojectFeatureResults.openIterator(ReprojectFeatureResults.java:92)
> at
> org.geotools.feature.collection.AbstractFeatureCollection.features(AbstractFeatureCollection.java:65)
> at
> org.geotools.data.crs.ReprojectFeatureResults.getBounds(ReprojectFeatureResults.java:163)
> at
> org.geotools.feature.collection.DecoratingFeatureCollection.getBounds(DecoratingFeatureCollection.java:87)
> at
> org.geotools.feature.collection.DecoratingSimpleFeatureCollection.getBounds(DecoratingSimpleFeatureCollection.java:92)
> at
> org.geotools.wfs.bindings.WFSParsingUtils.FeatureCollectionType_getProperty(WFSParsingUtils.java:90)
> at
> org.geotools.wfs.v2_0.FeatureCollectionTypeBinding.getProperty(FeatureCollectionTypeBinding.java:100)
> at
> org.geotools.xsd.impl.GetPropertyExecutor.visit(GetPropertyExecutor.java:100)
> ... 108 more
> Caused by: java.io.IOException
> at
> org.geotools.jdbc.JDBCFeatureSource.getReaderInternal(JDBCFeatureSource.java:627)
> at
> org.geotools.data.store.ContentFeatureSource.getReader(ContentFeatureSource.java:619)
> at
> org.geotools.data.store.ContentFeatureCollection.features(ContentFeatureCollection.java:163)
> ... 117 more
> Caused by: java.io.IOException: Cannot do natural order without a primary
> key, please add it or specify a manual sort over existing attributes
> at org.geotools.jdbc.JDBCDataStore.sort(JDBCDataStore.java:3518)
> at org.geotools.jdbc.JDBCDataStore.selectSQL(JDBCDataStore.java:3354)
> at
> org.geotools.jdbc.JDBCFeatureSource.getReaderInternal(JDBCFeatureSource.java:594)
> ... 119 more
> 2021-08-10 12:04:48,814 INFO [geoserver.wfs] -
> Request: getServiceInfo
> 2021-08-10 12:04:48,814 INFO [geoserver.wfs] -
> Request: getFeature
>     service = WFS
>     version = 2.0.0
>     baseUrl = https://sig-geo-prd.andra.fr/geoserver/
>     count = 1000000
>     outputFormat = application/gml+xml; version=3.2
>     resolve = none
>     resolveDepth = *
>     resolveTimeout = 300
>     resultType = results
>     startIndex = 0
>     abstractQueryExpressionGroup[0] =
> wfs:abstractQueryExpression=net.opengis.wfs20.impl.QueryTypeImpl@2d9ce87
> (handle: null) (abstractProjectionClause: null, abstractSelectionClause: [
>  bbox ReferencedEnvelope[1344789.2622407675 : 2060610.887698353,
> 6375548.67891552 : 6698990.508360405] ], abstractSortingClause: null,
> aliases: null, typeNames: [{andra}bdd_forages_ouvrages]) (featureVersion:
> null, srsName: urn:ogc:def:crs:EPSG::2154, filter: null, propertyNames:
> null, sortBy: null)
>     abstractQueryExpression[0]:
>         abstractSelectionClause = [  bbox
> ReferencedEnvelope[1344789.2622407675 : 2060610.887698353, 6375548.67891552
> : 6698990.508360405] ]
>         typeNames[0] = {andra}bdd_forages_ouvrages
>         srsName = urn:ogc:def:crs:EPSG::2154
>         filter = [  bbox ReferencedEnvelope[1344789.2622407675 :
> 2060610.887698353, 6375548.67891552 : 6698990.508360405] ]
> 2021-08-10 12:04:48,814 INFO [geoserver.servlets] - OutputStream was
> successfully aborted.
> 2021-08-10 12:04:48,814 ERROR [geoserver.ows] -
> java.lang.RuntimeException: Failed to get property: {
> http://www.opengis.net/wfs/2.0}boundedBy
> at
> org.geotools.xsd.impl.GetPropertyExecutor.visit(GetPropertyExecutor.java:102)
> at
> org.geotools.xsd.impl.BindingWalker$BindingExecutionChain.execute(BindingWalker.java:220)
> at org.geotools.xsd.impl.BindingWalker.walk(BindingWalker.java:186)
> at
> org.geotools.xsd.impl.BindingVisitorDispatch.walk(BindingVisitorDispatch.java:65)
> at
> org.geotools.xsd.impl.BindingVisitorDispatch.walk(BindingVisitorDispatch.java:45)
> at
> org.geotools.xsd.impl.BindingPropertyExtractor.properties(BindingPropertyExtractor.java:92)
> at org.geotools.xsd.Encoder.encode(Encoder.java:988)
> at org.geotools.xsd.Encoder.encode(Encoder.java:549)
> at
> org.geoserver.wfs.xml.GML32OutputFormat.encode(GML32OutputFormat.java:151)
> at org.geoserver.wfs.xml.GML3OutputFormat.write(GML3OutputFormat.java:314)
> at
> org.geoserver.wfs.WFSGetFeatureOutputFormat.write(WFSGetFeatureOutputFormat.java:195)
> at org.geoserver.ows.Dispatcher.response(Dispatcher.java:1030)
> at org.geoserver.ows.Dispatcher.handleRequestInternal(Dispatcher.java:269)
> 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:1040)
> at
> org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943)
> at
> org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
> at
> org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:626)
> at
> org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
> at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
> at
> org.geoserver.filters.ThreadLocalsCleanupFilter.doFilter(ThreadLocalsCleanupFilter.java:26)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
> at
> org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:69)
> at
> org.geoserver.wms.animate.AnimatorFilter.doFilter(AnimatorFilter.java:70)
> at
> org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:66)
> at
> org.geoserver.filters.SpringDelegatingFilter.doFilter(SpringDelegatingFilter.java:41)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
> at
> org.geoserver.platform.AdvancedDispatchFilter.doFilter(AdvancedDispatchFilter.java:37)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
> 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:119)
> 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:358)
> at
> org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
> at org.geoserver.filters.LoggingFilter.doFilter(LoggingFilter.java:101)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
> at
> org.geoserver.filters.XFrameOptionsFilter.doFilter(XFrameOptionsFilter.java:77)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
> at org.geoserver.filters.GZIPFilter.doFilter(GZIPFilter.java:47)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
> at
> org.geoserver.filters.SessionDebugFilter.doFilter(SessionDebugFilter.java:46)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
> at org.geoserver.filters.FlushSafeFilter.doFilter(FlushSafeFilter.java:42)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
> at
> org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
> at
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
> at
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:667)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
> at
> org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:690)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
> at
> org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374)
> at
> org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
> at
> org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:888)
> at
> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1597)
> at
> org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
> at
> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
> at java.lang.Thread.run(Unknown Source)
> Caused by: java.lang.RuntimeException: java.io.IOException
> at
> org.geotools.data.store.ContentFeatureCollection.features(ContentFeatureCollection.java:165)
> at
> org.geotools.data.store.ContentFeatureCollection.features(ContentFeatureCollection.java:52)
> at
> org.geotools.data.crs.ReprojectFeatureResults.openIterator(ReprojectFeatureResults.java:92)
> at
> org.geotools.feature.collection.AbstractFeatureCollection.features(AbstractFeatureCollection.java:65)
> at
> org.geotools.data.crs.ReprojectFeatureResults.getBounds(ReprojectFeatureResults.java:163)
> at
> org.geotools.feature.collection.DecoratingFeatureCollection.getBounds(DecoratingFeatureCollection.java:87)
> at
> org.geotools.feature.collection.DecoratingSimpleFeatureCollection.getBounds(DecoratingSimpleFeatureCollection.java:92)
> at
> org.geotools.wfs.bindings.WFSParsingUtils.FeatureCollectionType_getProperty(WFSParsingUtils.java:90)
> at
> org.geotools.wfs.v2_0.FeatureCollectionTypeBinding.getProperty(FeatureCollectionTypeBinding.java:100)
> at
> org.geotools.xsd.impl.GetPropertyExecutor.visit(GetPropertyExecutor.java:100)
> ... 108 more
> Caused by: java.io.IOException
> at
> org.geotools.jdbc.JDBCFeatureSource.getReaderInternal(JDBCFeatureSource.java:627)
> at
> org.geotools.data.store.ContentFeatureSource.getReader(ContentFeatureSource.java:619)
> at
> org.geotools.data.store.ContentFeatureCollection.features(ContentFeatureCollection.java:163)
> ... 117 more
> Caused by: java.io.IOException: Cannot do natural order without a primary
> key, please add it or specify a manual sort over existing attributes
> at org.geotools.jdbc.JDBCDataStore.sort(JDBCDataStore.java:3518)
> at org.geotools.jdbc.JDBCDataStore.selectSQL(JDBCDataStore.java:3354)
> at
> org.geotools.jdbc.JDBCFeatureSource.getReaderInternal(JDBCFeatureSource.java:594)
> ... 119 more
> 2021-08-10 12:07:42,322 INFO [geoserver.wms] -
> Request: getServiceInfo
> 2021-08-10 12:07:42,354 INFO [geoserver.wms] -
> Request: getLegendGraphic
> BaseUrl = https://sig-geo-prd.andra.fr/geoserver/
> Env = {}
> Exceptions = SE_XML
> FeatureType = null
> Format = image/png
> Get = false
> Height = 20
> Kvp = {STRICT=false, REQUEST=GetLegendGraphic, FORMAT=image/png,
> VERSION=1.0.0, STYLE=line, WIDTH=20, HEIGHT=20}
> Layers = []
> LegendOptions = {}
> Legends = [LegendRequest [layer=, name= styleName=line, title=null,
> legendInfo=null]]
> Locale = null
> RawKvp = {STRICT=false, REQUEST=GetLegendGraphic, FORMAT=image/png,
> VERSION=1.0.0, STYLE=line, WIDTH=20, HEIGHT=20}
> Request = GetLegendGraphic
> RequestCharset = null
> Scale = -1.0
> Strict = false
> Transparent = false
> Version = 1.0.0
> Width = 20
> Wms = org.geoserver.wms.WMS@577e21c0
> _______________________________________________
> Geoserver-users mailing list
>
> Please make sure you read the following two resources before posting to
> this list:
> - Earning your support instead of buying it, but Ian Turton:
> http://www.ianturton.com/talks/foss4g.html#/
> - The GeoServer user list posting guidelines:
> http://geoserver.org/comm/userlist-guidelines.html
>
> If you want to request a feature or an improvement, also see this:
> https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer
>
>
> Geoserver-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/geoserver-users
>


-- 
Ian Turton
_______________________________________________
Geoserver-users mailing list

Please make sure you read the following two resources before posting to this 
list:
- Earning your support instead of buying it, but Ian Turton: 
http://www.ianturton.com/talks/foss4g.html#/
- The GeoServer user list posting guidelines: 
http://geoserver.org/comm/userlist-guidelines.html

If you want to request a feature or an improvement, also see this: 
https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer


Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

Reply via email to