From: Andrea A. <aa...@op...> - 2009-04-30 15:05:54
|
Marianna Borriello ha scritto: > Hi, > I'm using geoserver 1.7.3 and I have a feature type (a table from an > oracle datastore) with a blob field. > When I do a wfs query on any feature type I get the following exception: > > 0 apr 16:11:30 ERROR [geoserver.ows] - java.lang.NullPointerException: > Could not find a type for property: > CAMPOBLOB of type: java.lang.Object > at > org.geoserver.wfs.xml.FeatureTypeSchemaBuilder.buildSchemaContent(FeatureTyp > > eSchemaBuilder.java:317) > at > org.geoserver.wfs.xml.FeatureTypeSchemaBuilder.build(FeatureTypeSchemaBuilde > > r.java:153) > at > org.geoserver.wfs.xml.FeatureTypeSchemaBuilder.addApplicationTypes(FeatureTy > > peSchemaBuilder.java:204) > at org.geoserver.wfs.xml.v1_1_0.WFS.buildSchema(WFS.java:308) > at org.geotools.xml.XSD.getSchema(XSD.java:127) > at > org.geotools.xml.SchemaLocator.locateSchema(SchemaLocator.java:92) > at > org.geotools.xml.impl.ParserHandler.startElement(ParserHandler.java:289) > at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown > Source) > at > org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown > Source) > at > org.apache.xerces.impl.XMLNSDocumentScannerImpl$NSContentDispatcher.scanRoot > > ElementHook(Unknown Source) > at > org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatc > > her.dispatch(Unknown Source) > at > org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown > Source) > at org.apache.xerces.parsers.XML11Configuration.parse(Unknown > Source) > at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source) > at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) > at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) > at org.geotools.xml.Parser.parse(Parser.java:180) > at > org.geoserver.wfs.xml.v1_1_0.WfsXmlReader.read(WfsXmlReader.java:78) > at > org.geoserver.ows.Dispatcher.parseRequestXML(Dispatcher.java:1147) > at org.geoserver.ows.Dispatcher.dispatch(Dispatcher.java:437) > at > org.geoserver.ows.Dispatcher.handleRequestInternal(Dispatcher.java:208) > at > org.springframework.web.servlet.mvc.AbstractController.handleRequest(Abstrac > > tController.java:153) > at > org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(Si > > mpleControllerHandlerAdapter.java:48) > at > org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServl > > et.java:875) > at > org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServle > > t.java:809) > at > org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkSer > > vlet.java:571) > at > org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.jav > > a:511) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:710) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application > > FilterChain.java:269) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh > > ain.java:188) > at > org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter(SetCharacterE > > ncodingFilter.java:108) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application > > FilterChain.java:215) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh > > ain.java:188) > at > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterCh > > ainProxy.java:264) > at > org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecur > > ityInterceptor.java:107) > at > org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSec > > urityInterceptor.java:72) > at > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterCh > > ainProxy.java:274) > at > org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslatio > > nFilter.java:110) > at > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterCh > > ainProxy.java:274) > at > org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(Ano > > nymousProcessingFilter.java:125) > at > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterCh > > ainProxy.java:274) > at > org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessin > > gFilter.java:178) > at > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterCh > > ainProxy.java:274) > at > org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpS > > essionContextIntegrationFilter.java:229) > at > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterCh > > ainProxy.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(Application > > FilterChain.java:215) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh > > ain.java:188) > at > org.geoserver.filters.LoggingFilter.doFilter(LoggingFilter.java:73) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application > > FilterChain.java:215) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh > > ain.java:188) > at > org.geoserver.filters.ReverseProxyFilter.doFilter(ReverseProxyFilter.java:16 > > 3) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application > > FilterChain.java:215) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh > > ain.java:188) > at org.geoserver.filters.GZIPFilter.doFilter(GZIPFilter.java:47) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application > > FilterChain.java:215) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh > > ain.java:188) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja > > va:213) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja > > va:174) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127 > > ) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117 > > ) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java > > :108) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151) > at > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874) > at > org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processC > > onnection(Http11BaseProtocol.java:665) > at > org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.jav > > a:528) > at > org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWo > > rkerThread.java:81) > at > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav > > a:689) > at java.lang.Thread.run(Thread.java:595) > > > What does it mean? That we have no support whatsoever for blob fields. In theory they should be base64 encoded in gml, but you're the first one to report a need to deal with blob fields. Do you really need that? Otherwise you can hide the blob by building a view and publishing it instead. If you really need it, please open a improvement report on jira.codehaus.org Cheers Andrea -- Andrea Aime OpenGeo - http://opengeo.org Custom development for your GeoServer needs |