[Geoserver-devel] [jira] Created: (GEOS-3130) Failure reprojecting bbox in a WFS 1.1 request

Failure reprojecting bbox in a WFS 1.1 request
----------------------------------------------

                 Key: GEOS-3130
                 URL: http://jira.codehaus.org/browse/GEOS-3130
             Project: GeoServer
          Issue Type: Bug
    Affects Versions: 1.7.2
            Reporter: Andrea Aime
            Assignee: Andrea Aime
             Fix For: 1.7.5

The following WFS 1.1 request

{code}
<wfs:GetFeature xmlns:wfs="http://www.opengis.net/wfs&quot; service="WFS" maxFeatures="1" version="1.1.0" startPosition="0">
<wfs:Query xmlns:fgdc="http://www.fgdc.gov/NWI&quot; typeName="fgdc:wetlands">
<Filter xmlns="http://www.opengis.net/ogc&quot;&gt;
<BBOX>
<PropertyName xmlns:fgdc="http://www.fgdc.gov/NWI&quot;&gt;fgdc:wkb\_geometry&lt;/PropertyName&gt;
<gml:Envelope xmlns:gml="http://www.opengis.net/gml&quot; srsName="urn:x-ogc:def:crs:EPSG:4326">
<gml:lowerCorner>39.03454 -75.84575</gml:lowerCorner>
<gml:upperCorner>39.05433 -75.81777</gml:upperCorner>
</gml:Envelope>
</BBOX>
</Filter>
</wfs:Query>
</wfs:GetFeature>
{code}

triggers the following stack trace:

{code}
<ows:ExceptionReport version="1.0.0" xsi:schemaLocation="http://www.opengis.net/ows http://149.165.228.100:8080/geoserver/schemas/ows/1.0.0/owsExceptionReport.xsd&quot;&gt;
&#8722;
<ows:Exception exceptionCode="NoApplicableCode">
&#8722;
<ows:ExceptionText>
Error occurred getting features Had
      troubles handling filter reprojection... Could not
      decode srs &apos;EPSG:4326&apos; null
</ows:ExceptionText>
<ows:ExceptionText>Details:</ows:ExceptionText>
&#8722;
<ows:ExceptionText>
org.geoserver.wfs.WFSException: Error
      occurred getting features at
      org.geoserver.wfs.GetFeature.run(GetFeature.java:382)
      at
      org.geoserver.wfs.DefaultWebFeatureService.getFeature(DefaultWebFeatureService.java:134)
      at
      sun.reflect.GeneratedMethodAccessor360.invoke(Unknown
      Source) at
      sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at
      org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
      at
      org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
      at
      org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
      at
      org.geoserver.ows.util.EMFLogger.invoke(EMFLogger.java:51)
      at
      org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      at
      org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
      at $Proxy16.getFeature(Unknown Source) at
      sun.reflect.GeneratedMethodAccessor359.invoke(Unknown
      Source) at
      sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at
      org.geoserver.security.OperationSecurityInterceptor.invoke(OperationSecurityInterceptor.java:41)
      at
      org.geoserver.ows.Dispatcher.execute(Dispatcher.java:582)
      at
      org.geoserver.ows.Dispatcher.handleRequestInternal(Dispatcher.java:211)
      at
      org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
      at
      org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
      at
      org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)
      at
      org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:809)
      at
      org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
      at
      org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:511)
      at
      javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
      at
      javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
      at
      org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
      at
      org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at
      org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108)
      at
      org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      at
      org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at
      org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:264)
      at
      org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107)
      at
      org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72)
      at
      org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
      at
      org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:110)
      at
      org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
      at
      org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
      at
      org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
      at
      org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:178)
      at
      org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
      at
      org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:229)
      at
      org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
      at
      org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:148)
      at
      org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98)
      at
      org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      at
      org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at
      org.geoserver.filters.LoggingFilter.doFilter(LoggingFilter.java:73)
      at
      org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      at
      org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at
      org.geoserver.filters.ReverseProxyFilter.doFilter(ReverseProxyFilter.java:163)
      at
      org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      at
      org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at
      org.geoserver.filters.GZIPFilter.doFilter(GZIPFilter.java:47)
      at
      org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      at
      org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at
      org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
      at
      org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
      at
      org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
      at
      org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
      at
      org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
      at
      org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
      at
      org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
      at
      org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
      at
      org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:354)
      at
      java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
      at
      java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
      at java.lang.Thread.run(Thread.java:619) Caused by:
      org.geotools.data.DataSourceException: Had troubles
      handling filter reprojection... at
      org.vfny.geoserver.global.GeoServerFeatureSource.reprojectFilter(GeoServerFeatureSource.java:387)
      at
      org.vfny.geoserver.global.GeoServerFeatureSource.getFeatures(GeoServerFeatureSource.java:332)
      at
      org.geoserver.wfs.GetFeature.getFeatures(GetFeature.java:448)
      at
      org.geoserver.wfs.GetFeature.run(GetFeature.java:353)
      ... 67 more Caused by: java.lang.RuntimeException:
      Could not decode srs 'EPSG:4326' at
      org.geoserver.feature.ReprojectingFilterVisitor.visit(ReprojectingFilterVisitor.java:107)
      at
      org.geotools.filter.spatial.BBOXImpl.accept(BBOXImpl.java:133)
      at
      org.vfny.geoserver.global.GeoServerFeatureSource.reprojectFilter(GeoServerFeatureSource.java:381)
      ... 70 more Caused by:
      java.util.NoSuchElementException at
      java.util.Collections$EmptySet$1.next(Collections.java:2912)
      at
      org.geoserver.feature.ReprojectingFilterVisitor.visit(ReprojectingFilterVisitor.java:102)
      ... 72 more
</ows:ExceptionText>
</ows:Exception>
</ows:ExceptionReport>
{code}

Mind the line where this is failing is:

srs = targetCrs.getIdentifiers().iterator().next().toString();

--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira