I'm using OpenLayers on the client with a tiled WMS layer, so it generates
perhaps a dozen requests for the same layer with of course the same SLD URL.
The SLD URL is pointing at a handler, written in .NET, that generates a
custom SLD. It caches its response, so it should be (after the first
request) returning the exact same data on every single call.
However, every couple of dozen requests, I'll get a couple of XML parsing
errors from GeoServer, as though my SLD is incomplete. All the other
requests succeed and render the images correctly.
So I'm trying to figure out if the error is that my handler isn't writing
all the data to the output stream or something, so seeing what the SLD looks
like when GeoServer gets it would be really useful. I haven't been able to
reproduce this problem without GeoServer... I had a script make requests to
the URL for the SLD 5000 times in a row and every single response was
identical.
Any and all debugging suggestions are appreciated.
Here's an example of a parse error from GeoServer's log. This is GeoServer
2.0.2, on Windows 7 64 bit. This one is complaining about ogc:Literal, but
it varies, and sometimes complains about tags like "PolygonSymbo" which
makes it seem like the file was cut off.
INFO | jvm 1 | 2010/09/23 13:32:00 | java.lang.RuntimeException:
org.xml.sax.SAXParseException: The element type "ogc:Literal" must be
terminated by the matching end-tag "</ogc:Literal>".
INFO | jvm 1 | 2010/09/23 13:32:00 | at
org.geotools.styling.SLDParser.parseSLD(SLDParser.java:369)
INFO | jvm 1 | 2010/09/23 13:32:00 | at
org.geoserver.wms.kvp.GetMapKvpRequestReader.parseSld(GetMapKvpRequestReader.java:453)
INFO | jvm 1 | 2010/09/23 13:32:00 | at
org.geoserver.wms.kvp.GetMapKvpRequestReader.read(GetMapKvpRequestReader.java:263)
INFO | jvm 1 | 2010/09/23 13:32:00 | at
org.geoserver.wms.kvp.GetMapKvpRequestReader.read(GetMapKvpRequestReader.java:71)
INFO | jvm 1 | 2010/09/23 13:32:00 | at
org.geoserver.ows.Dispatcher.parseRequestKVP(Dispatcher.java:1120)
INFO | jvm 1 | 2010/09/23 13:32:00 | at
org.geoserver.ows.Dispatcher.dispatch(Dispatcher.java:457)
INFO | jvm 1 | 2010/09/23 13:32:00 | at
org.geoserver.ows.Dispatcher.handleRequestInternal(Dispatcher.java:227)
INFO | jvm 1 | 2010/09/23 13:32:00 | at
org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
INFO | jvm 1 | 2010/09/23 13:32:00 | at
org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
INFO | jvm 1 | 2010/09/23 13:32:00 | at
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)
INFO | jvm 1 | 2010/09/23 13:32:00 | at
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:809)
INFO | jvm 1 | 2010/09/23 13:32:00 | at
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
INFO | jvm 1 | 2010/09/23 13:32:00 | at
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:501)
INFO | jvm 1 | 2010/09/23 13:32:00 | at
javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
INFO | jvm 1 | 2010/09/23 13:32:00 | at
javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
INFO | jvm 1 | 2010/09/23 13:32:00 | at
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
INFO | jvm 1 | 2010/09/23 13:32:00 | at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093)
INFO | jvm 1 | 2010/09/23 13:32:00 | at
org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108)
INFO | jvm 1 | 2010/09/23 13:32:00 | at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
INFO | jvm 1 | 2010/09/23 13:32:00 | at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:265)
INFO | jvm 1 | 2010/09/23 13:32:00 | at
org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107)
INFO | jvm 1 | 2010/09/23 13:32:00 | at
org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72)
INFO | jvm 1 | 2010/09/23 13:32:00 | at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
INFO | jvm 1 | 2010/09/23 13:32:00 | at
org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:124)
INFO | jvm 1 | 2010/09/23 13:32:00 | at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
INFO | jvm 1 | 2010/09/23 13:32:00 | at
org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
INFO | jvm 1 | 2010/09/23 13:32:00 | at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
INFO | jvm 1 | 2010/09/23 13:32:00 | at
org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:174)
INFO | jvm 1 | 2010/09/23 13:32:00 | at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
INFO | jvm 1 | 2010/09/23 13:32:00 | at
org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
INFO | jvm 1 | 2010/09/23 13:32:00 | at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
INFO | jvm 1 | 2010/09/23 13:32:00 | at
org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:149)
INFO | jvm 1 | 2010/09/23 13:32:00 | at
org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98)
INFO | jvm 1 | 2010/09/23 13:32:00 | at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
INFO | jvm 1 | 2010/09/23 13:32:00 | at
org.geoserver.filters.LoggingFilter.doFilter(LoggingFilter.java:73)
INFO | jvm 1 | 2010/09/23 13:32:00 | at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
INFO | jvm 1 | 2010/09/23 13:32:00 | at
org.geoserver.filters.ReverseProxyFilter.doFilter(ReverseProxyFilter.java:183)
INFO | jvm 1 | 2010/09/23 13:32:00 | at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
INFO | jvm 1 | 2010/09/23 13:32:00 | at
org.geoserver.filters.GZIPFilter.doFilter(GZIPFilter.java:41)
INFO | jvm 1 | 2010/09/23 13:32:00 | at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
INFO | jvm 1 | 2010/09/23 13:32:00 | at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
INFO | jvm 1 | 2010/09/23 13:32:00 | at
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
INFO | jvm 1 | 2010/09/23 13:32:00 | at
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
INFO | jvm 1 | 2010/09/23 13:32:00 | at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726)
INFO | jvm 1 | 2010/09/23 13:32:00 | at
org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
INFO | jvm 1 | 2010/09/23 13:32:00 | at
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)
INFO | jvm 1 | 2010/09/23 13:32:00 | at
org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
INFO | jvm 1 | 2010/09/23 13:32:00 | at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
INFO | jvm 1 | 2010/09/23 13:32:00 | at
org.mortbay.jetty.Server.handle(Server.java:324)
INFO | jvm 1 | 2010/09/23 13:32:00 | at
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
INFO | jvm 1 | 2010/09/23 13:32:00 | at
org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:828)
INFO | jvm 1 | 2010/09/23 13:32:00 | at
org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
INFO | jvm 1 | 2010/09/23 13:32:00 | at
org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
INFO | jvm 1 | 2010/09/23 13:32:00 | at
org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
INFO | jvm 1 | 2010/09/23 13:32:00 | at
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
INFO | jvm 1 | 2010/09/23 13:32:00 | at
org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450)
INFO | jvm 1 | 2010/09/23 13:32:00 | Caused by:
org.xml.sax.SAXParseException: The element type "ogc:Literal" must be
terminated by the matching end-tag "</ogc:Literal>".
INFO | jvm 1 | 2010/09/23 13:32:00 | at
org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
INFO | jvm 1 | 2010/09/23 13:32:00 | at
org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
INFO | jvm 1 | 2010/09/23 13:32:00 | at
org.geotools.styling.SLDParser.parseSLD(SLDParser.java:357)
INFO | jvm 1 | 2010/09/23 13:32:00 | ... 55 more
------------------------------------------------------------------------------
Nokia and AT&T present the 2010 Calling All Innovators-North America contest
Create new apps & games for the Nokia N8 for consumers in U.S. and Canada
$10 million total in prizes - $4M cash, 500 devices, nearly $6M in marketing
Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store
http://p.sf.net/sfu/nokia-dev2dev
_______________________________________________
Geoserver-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geoserver-users