Some followup...

I've been debugging through the code for 
wfs-2.1.1/org.geoserver.wfs.response/ShapeipOutputFormat.java

The call I am making: 
http://localhost:8080/upload/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=upload:Yahara_River_HRUs_alb_eq&maxFeatures=50&outputFormat=SHAPE-ZIP

In ShapeZipOutputFormat, line 184, we have: 
FeatureTypeInfo ftInfo = catalog.getFeatureTypeByName(fc.getSchema().getName());

The variable ftInfo comes back null from this call.

fc.getSchema().getName() comes back with a populated object (though the 
namespace property for this object is http://www.opengis.net/gml and I thought 
it should be either "upload" or "gov.usgs.cida.gdp.upload" which is the 
namespace URI for the "upload" workspace

The function goes to SecureCatalogImpl.java, line 229 to run the function:
 checkAccess(user(), delegate.getFeatureTypeByName(name))

The parameter user() is populated, but delegate.getFeatureTypeByName(name) 
comes in as null and the checkAccess function returns null due to this.  This 
causes ftInfo to return as null and this causes a nullpointer exception down 
the line which then brings us to "Failed to process the file name template null"

delegate.getFeatureTypeByName(name) gets run with the "name" argument as 
"http://www.opengis.net/gml:Yahara_River_HRUs_alb_eq"; which seems wrong (so it 
is not surprising that this would come back as null.



---------------------------------------------------------------------------
 Ivan Suftin - Applications Developer - [email protected]
 Center for Integrated Data Analytics (CIDA)
 U.S. Geological Survey
 8505 Research Way, Middleton, WI 53562
 Office: (608) 821-3825  - Cell : (608) 345-8963
 

On Aug 23, 2011, at 2:01 PM, Ivan Suftin wrote:

> I suppose this can be seen as a revival of a previous userlist thread that 
> never really got resolved @ 
> http://sourceforge.net/mailarchive/forum.php?thread_name=BANLkTim0ybPAk_ym%3Du5ZPTEi2cGNkwOAAw%40mail.gmail.com&forum_name=geoserver-devel
> 
> I am using Geoserver 2.1.1
> 
> I've included a "shapezip.ftl" in my project that's 3 lines:
> zip=${typename}
> shp=${typename}${geometryType}
> txt=wfsrequest
> 
> This file is included in geoserver/data/templates
> 
> However, when I make the request to getfeature, for example: 
> http://localhost:8081/geoserver/upload/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=upload:Yahara_alb&outputFormat=shape-zip
> 
> I am still getting: 
> <ServiceExceptionReport version="1.2.0" 
> xsi:schemaLocation="http://www.opengis.net/ogc 
> http://schemas.opengis.net/wfs/1.0.0/OGC-exception.xsd";><ServiceException>
>      Failed to process the file name template null
> </ServiceException></ServiceExceptionReport>
> 
> Am I missing something?
> 
> Here's the stacktrace from the Geoserver logs:
> 2011-08-23 12:56:55,872 ERROR [geoserver.ows] - 
> org.geoserver.wfs.WFSException: Failed to process the file name template
>        at 
> org.geoserver.wfs.response.ShapeZipOutputFormat$FileNameSource.processTemplate(ShapeZipOutputFormat.java:847)
>        at 
> org.geoserver.wfs.response.ShapeZipOutputFormat$FileNameSource.getZipName(ShapeZipOutputFormat.java:856)
>        at 
> org.geoserver.wfs.response.ShapeZipOutputFormat.getHeaders(ShapeZipOutputFormat.java:194)
>        at org.geoserver.ows.Dispatcher.response(Dispatcher.java:746)
>        at 
> org.geoserver.ows.Dispatcher.handleRequestInternal(Dispatcher.java:238)
>        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.doGet(FrameworkServlet.java:501)
>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
>        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.geoserver.filters.ThreadLocalsCleanupFilter.doFilter(ThreadLocalsCleanupFilter.java:23)
>        at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>        at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>        at 
> org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:74)
>        at 
> org.geoserver.filters.SpringDelegatingFilter.doFilter(SpringDelegatingFilter.java:45)
>        at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>        at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>        at 
> org.geoserver.platform.AdvancedDispatchFilter.doFilter(AdvancedDispatchFilter.java:49)
>        at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>        at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>        at 
> org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:109)
>        at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>        at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>        at 
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:394)
>        at 
> org.springframework.security.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
>        at 
> org.springframework.security.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
>        at 
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:406)
>        at 
> org.springframework.security.ui.ExceptionTranslationFilter.doFilterHttp(ExceptionTranslationFilter.java:101)
>        at 
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
>        at 
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:406)
>        at 
> org.springframework.security.providers.anonymous.AnonymousProcessingFilter.doFilterHttp(AnonymousProcessingFilter.java:105)
>        at 
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
>        at 
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:406)
>        at 
> org.springframework.security.ui.basicauth.BasicProcessingFilter.doFilterHttp(BasicProcessingFilter.java:174)
>        at 
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
>        at 
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:406)
>        at 
> org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:235)
>        at 
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
>        at 
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:406)
>        at 
> org.springframework.security.util.FilterChainProxy.doFilter(FilterChainProxy.java:185)
>        at 
> org.springframework.security.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:99)
>        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:71)
>        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:183)
>        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:41)
>        at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>        at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>        at 
> org.geoserver.filters.SessionDebugFilter.doFilter(SessionDebugFilter.java:46)
>        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:127)
>        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:298)
>        at 
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
>        at 
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
>        at 
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
>        at java.lang.Thread.run(Thread.java:662)
> Caused by: java.lang.NullPointerException
>        at 
> org.geoserver.wfs.response.ShapeZipOutputFormat$FileNameSource.getTypeName(ShapeZipOutputFormat.java:852)
>        at 
> org.geoserver.wfs.response.ShapeZipOutputFormat$FileNameSource.processTemplate(ShapeZipOutputFormat.java:829)
> 
> ---------------------------------------------------------------------------
> Ivan Suftin - Applications Developer - [email protected]
> Center for Integrated Data Analytics (CIDA)
> U.S. Geological Survey
> 8505 Research Way, Middleton, WI 53562
> Office: (608) 821-3825  - Cell : (608) 345-8963
> 
> 
> 
> ------------------------------------------------------------------------------
> Get a FREE DOWNLOAD! and learn more about uberSVN rich system, 
> user administration capabilities and model configuration. Take 
> the hassle out of deploying and managing Subversion and the 
> tools developers use with it. http://p.sf.net/sfu/wandisco-d2d-2
> _______________________________________________
> Geoserver-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/geoserver-users


------------------------------------------------------------------------------
EMC VNX: the world's simplest storage, starting under $10K
The only unified storage solution that offers unified management 
Up to 160% more powerful than alternatives and 25% more efficient. 
Guaranteed. http://p.sf.net/sfu/emc-vnx-dev2dev
_______________________________________________
Geoserver-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geoserver-users

Reply via email to