Hello,
I implemented a GeoServer datastore, which fetches an XML structure from a URL. It is accessible on http://rmap.researchstudio.at:8080/geoserver (typeName="gml:umwelt2") It works for WFS1.1 requests if I set the outputFormat to "GML2". If I request GML3, the error below is thrown. It seems there's some parameter missing in the conversion processes from GML2 to GML3. Would you have any hint concerning this?
Just in case, sources can be found here: http://www.berndresch.com/download/gt2-om_java_files.zip
Thank you very much,
Bernd.
======= error message:
java.lang.NullPointerException
at org.geotools.gml2.FeaturePropertyExtractor.properties(FeaturePropertyExtractor.java:60)
at org.geotools.xml.Encoder.encode(Encoder.java:573)
at org.geotools.xml.Encoder.encode(Encoder.java:320)
at org.geoserver.wfs.xml.GML3OutputFormat.write(GML3OutputFormat.java:122)
at org.geoserver.wfs.WFSGetFeatureOutputFormat.write(WFSGetFeatureOutputFormat.java:137)
at org.geoserver.ows.Dispatcher.response(Dispatcher.java:615)
at org.geoserver.ows.Dispatcher.handleRequestInternal(Dispatcher.java:192)
at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:139)
at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:44)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:684)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:625)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:392)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:357)
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(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.geoserver.filters.LoggingFilter.doFilter(LoggingFilter.java:69)
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.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.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
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:263)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
Hi Bernd,
The GML2 and GML3 encoder use completely different technologies... so figuring out the issue can be tricky.
However in this case what is happening (and this is a very bad error messsage), is that an element in the schema can not be found.
Looking at the DescribeFeatureType output for the umwelt2 layer i see this:
<xsd:element name="FeatureOfInterest1_iSPACE001" substitutionGroup="gml:_Feature" type="gml:umwelt2Type"/>
Which struck me as unusual... usually its the lement is named "umwelt2". So it seems that your datastore is creating the typename "FeatuerOfInterest..." but GeoServer is expecting it to be "umwelt2".
Bernd Resch wrote:
Hello,
I implemented a GeoServer datastore, which fetches an XML structure from a URL. It is accessible on http://rmap.researchstudio.at:8080/geoserver (typeName="gml:umwelt2") It works for WFS1.1 requests if I set the outputFormat to "GML2". If I request GML3, the error below is thrown. It seems there's some parameter missing in the conversion processes from GML2 to GML3. Would you have any hint concerning this?
Just in case, sources can be found here: http://www.berndresch.com/download/gt2-om_java_files.zip
Thank you very much,
Bernd.
======= error message:
java.lang.NullPointerException
at org.geotools.gml2.FeaturePropertyExtractor.properties(FeaturePropertyExtractor.java:60)
at org.geotools.xml.Encoder.encode(Encoder.java:573)
at org.geotools.xml.Encoder.encode(Encoder.java:320)
at org.geoserver.wfs.xml.GML3OutputFormat.write(GML3OutputFormat.java:122)
at org.geoserver.wfs.WFSGetFeatureOutputFormat.write(WFSGetFeatureOutputFormat.java:137)
at org.geoserver.ows.Dispatcher.response(Dispatcher.java:615)
at org.geoserver.ows.Dispatcher.handleRequestInternal(Dispatcher.java:192)
at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:139)
at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:44)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:684)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:625)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:392)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:357)
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(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.geoserver.filters.LoggingFilter.doFilter(LoggingFilter.java:69)
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.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.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
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:263)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
Geoserver-users mailing list
Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users
!DSPAM:4007,481a36ee96487180515871!
--
Justin Deoliveira
The Open Planning Project
jdeolive@anonymised.com
Hi again,
thank you for your reply. I created a featureType fitting the requirements (name = type = "gml:FeatureOfInterest1_iSPACE001"). Now, the WFS1.1 request works for GML3; however, only the BBOX and not the data themselves are returned for each feature, s. below. No error message is thrown. For outputFormat="GML2" it works. I would really appreciate any hint!
Thank you,
Bernd.
<wfs:FeatureCollection numberOfFeatures="101" ... >
<gml:featureMembers>
<gml:FeatureOfInterest1_iSPACE001 gml:id="1">
<gml:boundedBy>
<gml:Envelope srsName="urn:x-ogc:def:crs:EPSG:6.11.2:4326">
<gml:lowerCorner>47.774998 13.02372</gml:lowerCorner>
<gml:upperCorner>47.774998 13.02372</gml:upperCorner>
</gml:Envelope>
</gml:boundedBy>
</gml:FeatureOfInterest1_iSPACE001>
.... <other feature member>
</gml:featureMembers>
</wfs:FeatureCollection>
Justin Deoliveira wrote:
Hi Bernd,
The GML2 and GML3 encoder use completely different technologies... so figuring out the issue can be tricky.
However in this case what is happening (and this is a very bad error messsage), is that an element in the schema can not be found.
Looking at the DescribeFeatureType output for the umwelt2 layer i see this:
<xsd:element name="FeatureOfInterest1_iSPACE001" substitutionGroup="gml:_Feature" type="gml:umwelt2Type"/>
Which struck me as unusual... usually its the lement is named "umwelt2". So it seems that your datastore is creating the typename "FeatuerOfInterest..." but GeoServer is expecting it to be "umwelt2".
Bernd Resch wrote:
Hello,
I implemented a GeoServer datastore, which fetches an XML structure from a URL. It is accessible on http://rmap.researchstudio.at:8080/geoserver (typeName="gml:umwelt2") It works for WFS1.1 requests if I set the outputFormat to "GML2". If I request GML3, the error below is thrown. It seems there's some parameter missing in the conversion processes from GML2 to GML3. Would you have any hint concerning this?
Just in case, sources can be found here: http://www.berndresch.com/download/gt2-om_java_files.zip
Thank you very much,
Bernd.
======= error message:
java.lang.NullPointerException
at org.geotools.gml2.FeaturePropertyExtractor.properties(FeaturePropertyExtractor.java:60)
at org.geotools.xml.Encoder.encode(Encoder.java:573)
at org.geotools.xml.Encoder.encode(Encoder.java:320)
at org.geoserver.wfs.xml.GML3OutputFormat.write(GML3OutputFormat.java:122)
at org.geoserver.wfs.WFSGetFeatureOutputFormat.write(WFSGetFeatureOutputFormat.java:137)
Hi Bernd,
I just tried to to a describefeaturetype against your server and got the following error:
org.geotools.data.DataSourceException:
FeatureOfInterest1_iSPACE001 schema not available
Could not type null as:null
My guess is there is some issue with the feature type yoru data store is creating. If you can turn on verbose exceptions on your server I can probably get a better idea where exactly the problem is.
-Justin
Bernd Resch wrote:
Hi again,
thank you for your reply. I created a featureType fitting the requirements (name = type = "gml:FeatureOfInterest1_iSPACE001"). Now, the WFS1.1 request works for GML3; however, only the BBOX and not the data themselves are returned for each feature, s. below. No error message is thrown. For outputFormat="GML2" it works. I would really appreciate any hint!
Thank you,
Bernd.
<wfs:FeatureCollection numberOfFeatures="101" ... >
<gml:featureMembers>
<gml:FeatureOfInterest1_iSPACE001 gml:id="1">
<gml:boundedBy>
<gml:Envelope srsName="urn:x-ogc:def:crs:EPSG:6.11.2:4326">
<gml:lowerCorner>47.774998 13.02372</gml:lowerCorner>
<gml:upperCorner>47.774998 13.02372</gml:upperCorner>
</gml:Envelope>
</gml:boundedBy>
</gml:FeatureOfInterest1_iSPACE001>
.... <other feature member>
</gml:featureMembers>
</wfs:FeatureCollection>
Justin Deoliveira wrote:
Hi Bernd,
The GML2 and GML3 encoder use completely different technologies... so figuring out the issue can be tricky.
However in this case what is happening (and this is a very bad error messsage), is that an element in the schema can not be found.
Looking at the DescribeFeatureType output for the umwelt2 layer i see this:
<xsd:element name="FeatureOfInterest1_iSPACE001" substitutionGroup="gml:_Feature" type="gml:umwelt2Type"/>
Which struck me as unusual... usually its the lement is named "umwelt2". So it seems that your datastore is creating the typename "FeatuerOfInterest..." but GeoServer is expecting it to be "umwelt2".
Bernd Resch wrote:
Hello,
I implemented a GeoServer datastore, which fetches an XML structure from a URL. It is accessible on http://rmap.researchstudio.at:8080/geoserver (typeName="gml:umwelt2") It works for WFS1.1 requests if I set the outputFormat to "GML2". If I request GML3, the error below is thrown. It seems there's some parameter missing in the conversion processes from GML2 to GML3. Would you have any hint concerning this?
Just in case, sources can be found here: http://www.berndresch.com/download/gt2-om_java_files.zip
Thank you very much,
Bernd.
======= error message:
java.lang.NullPointerException
at org.geotools.gml2.FeaturePropertyExtractor.properties(FeaturePropertyExtractor.java:60)
at org.geotools.xml.Encoder.encode(Encoder.java:573)
at org.geotools.xml.Encoder.encode(Encoder.java:320)
at org.geoserver.wfs.xml.GML3OutputFormat.write(GML3OutputFormat.java:122)
at org.geoserver.wfs.WFSGetFeatureOutputFormat.write(WFSGetFeatureOutputFormat.java:137)
-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
Geoserver-users mailing list
Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users
!DSPAM:4007,481b6c15296401030819293!
--
Justin Deoliveira
The Open Planning Project
jdeolive@anonymised.com