Dear Laurant,

Currently I am busy implementing Materialized Views for a client. In order to 
have a unique ID, you need to add that to the materialized view:

The materialized view needs a unique column to support concurrent refreshing. 
That means you have to determine a “primary key” and create a unique index:
1
2
3
4
demo=# CREATE UNIQUE INDEX idx_grp ON mat_view (grp);
CREATE INDEX
demo=# REFRESH MATERIALIZED VIEW CONCURRENTLY mat_view;
REFRESH MATERIALIZED VIEW


This is taken from: 
https://www.cybertec-postgresql.com/en/creating-and-refreshing-materialized-views-in-postgresql/
Which you might find useful.

Kind regards,

Bart

From: celati Laurent <laurent.cel...@gmail.com>
Sent: Tuesday, 10 August 2021 13:15
To: geoserver-users <geoserver-users@lists.sourceforge.net>
Subject: [Geoserver-users] wfs : load in qgis a postgis materialized view

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<http://www.opengis.net/wfs/2.0%7dboundedBy>
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<http://www.opengis.net/wfs/2.0%7dboundedBy>
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<http://www.opengis.net/wfs/2.0%7dboundedBy>
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<mailto:org.geoserver.wms.WMS@577e21c0>

Disclaimer
De informatie in dit e-mailbericht, inclusief eventuele bijlage(s) is 
vertrouwelijk en uitsluitend bestemd voor de geadresseerde(n). Gebruik van deze 
informatie door anderen dan de geadresseerde(n) is niet toegestaan. 
Openbaarmaking, verspreiding en/of verstrekking van deze informatie aan derden 
wordt niet gepermitteerd. Wanneer u dit bericht ten onrechte heeft ontvangen, 
dient u de afzender hiervan per e-mail op de hoogte te brengen en dit bericht 
te verwijderen.
_______________________________________________
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