Hi,

What you try to do may be possible but for sure not that simply.  For making 
Geoserver to be able to output complex schema like the Inspire ones you must 
install app-schema plugin.
http://docs.geoserver.org/latest/en/user/data/app-schema/index.html

Then, in best case, you may be able to write a mapping file between the complex 
input schema and complex output schema.  I would not be surprised if this is 
not implemented yet. However, this part of the document gives a hint that it 
may be doable 
http://docs.geoserver.org/latest/en/user/data/app-schema/feature-chaining.html

While waiting for answers from app-schema specialists you can test cascaded WFS 
with some simple feature type.

-Jukka Rahkonen-

Johannes Michael Föll wrote:

Hi everyone,

i just downloaded the new Geoserver 2.4.0 and testet the WFSDataStore. 
Therefore i wanted to include the deegree WFS from the deegree 3 demo.

To reproduce the errors, here the settings and steps I've done:

1. Downloaded Geoserver 2.4.0 (stable version) and installed as local service 
on Windows XP (service pack 3)
2. Opened the WFSDataStore to include the deegree WFS and included the 
following inputs:
    - workspace: cite
    - name of datasource: test_deegree
    - WFS GetCapabilities URL: 
http://deegree3-demo.deegree.org/inspire-workspace/services?SERVICE=WFS&REQUEST=GetCapabilities&version=1.1.0
    - WFSDataStoreFactory:PROTOCOL: activated
    - WFSDataStoreFactory:WFS_STRATEGY: changed to nonstrict
3. Saved the DataStore
4. Tried to publish the Layer ad_Address. At this moment, the following error 
app ears:

java.lang.RuntimeException: Error occurred while building the resources for the 
configuration page at 
org.geoserver.web.data.layer.NewLayerPage.buildLayerInfo(NewLayerPage.java:307) 
at org.geoserver.web.data.layer.NewLayerPage$6.onClick(NewLayerPage.java:242) 
at org.geoserver.web.wicket.SimpleAjaxLink$1.onClick(SimpleAjaxLink.java:45) at 
org.apache.wicket.ajax.markup.html.AjaxLink$1.onEvent(AjaxLink.java:68) at 
org.apache.wicket.ajax.AjaxEventBehavior.respond(AjaxEventBehavior.java:177) at 
org.apache.wicket.ajax.AbstractDefaultAjaxBehavior.onRequest(AbstractDefaultAjaxBehavior.java:300)
 at 
org.apache.wicket.request.target.component.listener.BehaviorRequestTarget.processEvents(BehaviorRequestTarget.java:119)
 at 
org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:92)
 at 
org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1250) 
at org.apache.wicket.RequestCycle.step(RequestCycle.java:1329 ) at 
org.apache.wicket.RequestCycle.steps(RequestCycle.java:1436) at 
org.apache.wicket.RequestCycle.request(RequestCycle.java:545) at 
org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:484) at 
org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:138) at 
javax.servlet.http.HttpServlet.service(HttpServlet.java:707) at 
javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at 
org.springframework.web.servlet.mvc.ServletWrappingController.handleRequestInternal(ServletWrappingController.java:159)
 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:923)
 at 
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
 at org.springframework.web.servlet.FrameworkServle 
t.processRequest(FrameworkServlet.java:882) at 
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:778)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) at 
javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at 
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487) at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093)
 at 
org.geoserver.filters.ThreadLocalsCleanupFilter.doFilter(ThreadLocalsCleanupFilter.java:27)
 at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
 at 
org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:74)
 at 
org.geoserver.filters.SpringDelegatingFilter.doFilter(SpringDelegatingFilter.java:45)
 at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
 at 
org.geoserver.platform.AdvancedDispatchFilter.doFilter(AdvancedDispatchFilter.java:49)
 at org.mortbay.j 
etty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084) at 
org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:109)
 at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
 at 
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:311)
 at 
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:68)
 at 
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:116)
 at 
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
 at 
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:72)
 at 
org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:91)
 at org.springframework.secur 
ity.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323) 
at 
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:68)
 at 
org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
 at 
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:72)
 at 
org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:91)
 at 
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
 at 
org.geoserver.security.filter.GeoServerAnonymousAuthenticationFilter.doFilter(GeoServerAnonymousAuthenticationFilter.java:53)
 at 
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
 at 
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter
 .java:68) at 
org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:182)
 at 
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:72)
 at 
org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:91)
 at 
org.geoserver.security.filter.GeoServerUserNamePasswordAuthenticationFilter.doFilter(GeoServerUserNamePasswordAuthenticationFilter.java:115)
 at 
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
 at 
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:68)
 at 
org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:146)
 at 
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCom
 positeFilter.java:72) at 
org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:91)
 at 
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
 at 
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:68)
 at 
org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
 at 
org.geoserver.security.filter.GeoServerSecurityContextPersistenceFilter$1.doFilter(GeoServerSecurityContextPersistenceFilter.java:52)
 at 
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:72)
 at 
org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:91)
 at 
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
 at org.springframework.security.web.FilterChai 
nProxy.doFilter(FilterChainProxy.java:173) at 
org.geoserver.security.GeoServerSecurityFilterChainProxy.doFilter(GeoServerSecurityFilterChainProxy.java:134)
 at 
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
 at 
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
 at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
 at org.geoserver.filters.LoggingFilter.doFilter(LoggingFilter.java:75) at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
 at org.geoserver.filters.GZIPFilter.doFilter(GZIPFilter.java:42) at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
 at 
org.geoserver.filters.SessionDebugFilter.doFilter(SessionDebugFilter.java:47) 
at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
 at org.geoserver.filters.FlushSafeFilter.doFilter(Fl ushSafeFilter.java:43) at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
 at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360) at 
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) at 
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) at 
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726) at 
org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405) at 
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)
 at 
org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114) 
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at 
org.mortbay.jetty.Server.handle(Server.java:324) at 
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505) at 
org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:828)
 at org.mortbay.jetty.Ht tpParser.parseNext(HttpParser.java:514) at 
org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211) at 
org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380) at 
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395) at 
org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450) 
Caused by: java.lang.NullPointerException at 
org.geotools.xml.impl.SchemaIndexImpl.buildElementIndex(SchemaIndexImpl.java:382)
 at 
org.geotools.xml.impl.SchemaIndexImpl.getElementIndex(SchemaIndexImpl.java:320) 
at 
org.geotools.xml.impl.SchemaIndexImpl.getElementDeclaration(SchemaIndexImpl.java:130)
 at 
org.geotools.data.wfs.v1_1_0.parsers.EmfAppSchemaParser.parseFeatureType(EmfAppSchemaParser.java:315)
 at 
org.geotools.data.wfs.v1_1_0.parsers.EmfAppSchemaParser.parse(EmfAppSchemaParser.java:222)
 at 
org.geotools.data.wfs.v1_1_0.parsers.EmfAppSchemaParser.parseSimpleFeatureType(EmfAppSchemaParser.java:131)
 at org.geotools.data.wfs.v1_1_0.WFS_1_1_0 
_Protocol.issueDescribeFeatureTypeGET(WFS_1_1_0_Protocol.java:798) at 
org.geotools.data.wfs.v1_1_0.WFS_1_1_0_DataStore.getSchema(WFS_1_1_0_DataStore.java:262)
 at 
org.geoserver.feature.retype.RetypingDataStore.updateMap(RetypingDataStore.java:201)
 at 
org.geoserver.feature.retype.RetypingDataStore.getFeatureSource(RetypingDataStore.java:157)
 at 
org.geoserver.feature.retype.RetypingDataStore.getFeatureSource(RetypingDataStore.java:293)
 at 
org.geoserver.feature.retype.RetypingDataStore.getFeatureSource(RetypingDataStore.java:46)
 at 
org.geoserver.catalog.CatalogBuilder.buildFeatureType(CatalogBuilder.java:329) 
at 
org.geoserver.web.data.layer.NewLayerPage.buildLayerInfo(NewLayerPage.java:300) 
... 95 more

I think, the problem is caused by the complex INSPIRE-Schema, delivered by the 
deegree wfs. Is there a chance to use the deegree INSPIRE WFS as DataStore?
Is this a bug in Geoserver? Do you have any hints and comments? Thanks a lot!

Kind regards,
Jo hannes

------------------------------------------------------------------------------
LIMITED TIME SALE - Full Year of Microsoft Training For Just $49.99!
1,500+ hours of tutorials including VisualStudio 2012, Windows 8, SharePoint
2013, SQL 2012, MVC 4, more. BEST VALUE: New Multi-Library Power Pack includes
Mobile, Cloud, Java, and UX Design. Lowest price ever! Ends 9/22/13. 
http://pubads.g.doubleclick.net/gampad/clk?id=64545871&iu=/4140/ostg.clktrk
_______________________________________________
Geoserver-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geoserver-users

Reply via email to