Dispatcher needs WFS parsing fix

Description

See [https://jira.codehaus.org/browse/GEOS-1696" title="wms reflector does not work with pure remote slds" class="issue-link" data-issue-key="GEOS-1696"><del>GEOS-1696</del> for notes on how to reproduce in 1.6.1. Andrea says the same fix you did on wfs parsing should be done with the dispatcher.

26 Feb 19:43:40 WARN - Line 92 Col 20
26 Feb 19:43:40 WARN - java.io.IOException: org.geotools.ows.ServiceException: java.lang.RuntimeException: Parsing failed for typeName: java.lang.IllegalArgumentException: prefix topp is not bound to a namespace
Parsing failed for typeName: java.lang.IllegalArgumentException: prefix topp is not bound to a namespace
prefix topp is not bound to a namespace
Details:
org.geoserver.platform.ServiceException: java.lang.RuntimeException: Parsing failed for typeName: java.lang.IllegalArgumentException: prefix topp is not bound to a namespace
at org.geoserver.ows.Dispatcher.exception(Dispatcher.java:1163)
at org.geoserver.ows.Dispatcher.handleRequestInternal(Dispatcher.java:198)
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:41)
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$SocketProcessor.run(JIoEndpoint.java:354)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.RuntimeException: Parsing failed for typeName: java.lang.IllegalArgumentException: prefix topp is not bound to a namespace
at org.geotools.xml.impl.ParseExecutor.visit(ParseExecutor.java:142)
at org.geotools.xml.impl.BindingWalker$BindingExecutionChain.execute(BindingWalker.java:197)
at org.geotools.xml.impl.BindingWalker.walk(BindingWalker.java:163)
at org.geotools.xml.impl.BindingWalker.walk(BindingWalker.java:167)
at org.geotools.xml.impl.ElementHandlerImpl.startElement(ElementHandlerImpl.java:177)
at org.geotools.xml.impl.ParserHandler.startElement(ParserHandler.java:475)
at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)
at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.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:185)
at org.geotools.xml.Parser.parse(Parser.java:164)
at org.geoserver.wfs.xml.v1_0_0.WfsXmlReader.read(WfsXmlReader.java:60)
at org.geoserver.ows.Dispatcher.parseRequestXML(Dispatcher.java:1058)
at org.geoserver.ows.Dispatcher.dispatch(Dispatcher.java:375)
at org.geoserver.ows.Dispatcher.handleRequestInternal(Dispatcher.java:185)
... 47 more
Caused by: java.lang.IllegalArgumentException: prefix topp is not bound to a namespace
at javax.xml.bind.DatatypeConverterImpl._parseQName(DatatypeConverterImpl.java:299)
at javax.xml.bind.DatatypeConverterImpl.parseQName(DatatypeConverterImpl.java:255)
at javax.xml.bind.DatatypeConverter.parseQName(DatatypeConverter.java:268)
at org.geotools.xs.bindings.XSQNameBinding.parse(XSQNameBinding.java:109)
at org.geotools.xml.impl.ParseExecutor.visit(ParseExecutor.java:128)
... 66 more

Environment

None

Activity

Show:
codehaus
April 10, 2015, 4:08 PM

CodeHaus Comment From: jdeolive - Time: Wed, 27 Feb 2008 10:00:38 -0600
---------------------
<p>I am not sure I quite understand. For wfs i pre-injected the gtxml parser with the namespace mappings from the catalog. Are you referring to the pre-parsing that the dispatcher does when trying to figure out what the service/version/request are?</p>

codehaus
April 10, 2015, 4:08 PM

CodeHaus Comment From: aaime - Time: Wed, 2 Apr 2008 12:21:33 -0500
---------------------
<p>Justin, yes, that's the one. It's failing in the dispatcher pre-parsing</p>

codehaus
April 10, 2015, 4:08 PM

CodeHaus Comment From: aaime - Time: Fri, 4 Apr 2008 01:37:57 -0500
---------------------
<p>I have some reservations about moving this one to 1.6.4. If the xml does not have the proper namespace declarations the post/xml request will fail at the dispatcher level. Sounds like a regression?

What do you think?</p>

codehaus
April 10, 2015, 4:08 PM

CodeHaus Comment From: jratike80 - Time: Wed, 4 Mar 2015 05:00:26 -0600
---------------------
<p>Dispatcher, sounds like some developer stuff. Is the fix still undone after these 7 years?</p>

Assignee

Unassigned

Reporter

codehaus

Triage

None

Fix versions

None

Affects versions

Components

Priority

Medium
Configure