Michael Frumin wrote:
jdeolive thinks my problem is that the server is bombing on the
rendering of templates. and he's right. I have a bazillion of the
following errors in my geoserver log.
but how to fix it? do I have to write an .FTL file for every layer?
could be an issue that since I upgraded from GeoServer 1.5.0 I am just
pointing 1.5.1 at my old GEOSERVER_DATA_DIR?
Hmmm, this is a good point. That could be the problem. Do you have only
templates in your data directory, under featureTypes directory for
subway_stations in this case?
-Justin
thanks,
mike
WARNING: Failure tranforming feature to KML:subway_stations.31
java.lang.RuntimeException: java.io.IOException: Error occured
processing template.
at
org.vfny.geoserver.wms.responses.map.kml.KMLVectorTransformer$KMLTranslator.encodePlacemark(KMLVectorTransformer.java:566)
at
org.vfny.geoserver.wms.responses.map.kml.KMLVectorTransformer$KMLTranslator.encode(KMLVectorTransformer.java:246)
at
org.vfny.geoserver.wms.responses.map.kml.KMLVectorTransformer$KMLTranslator.encode(KMLVectorTransformer.java:218)
at
org.vfny.geoserver.wms.responses.map.kml.KMLVectorTransformer$KMLTranslator.encode(KMLVectorTransformer.java:196)
at
org.vfny.geoserver.wms.responses.map.kml.KMLTransformer$KMLTranslator.encodeVectorLayer(KMLTransformer.java:162)
at
org.vfny.geoserver.wms.responses.map.kml.KMLTransformer$KMLTranslator.encode(KMLTransformer.java:100)
at
org.geotools.xml.transform.TransformerBase$XMLReaderSupport.parse(TransformerBase.java:625)
at
org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:484)
at
org.geotools.xml.transform.TransformerBase$Task.run(TransformerBase.java:293)
at
org.geotools.xml.transform.TransformerBase.transform(TransformerBase.java:126)
at
org.geotools.xml.transform.TransformerBase.transform(TransformerBase.java:105)
at
org.vfny.geoserver.wms.responses.map.kml.KMLMapProducer.writeTo(KMLMapProducer.java:108)
at
org.vfny.geoserver.wms.responses.GetMapResponse.writeTo(GetMapResponse.java:472)
at
org.vfny.geoserver.servlets.AbstractService.doService(AbstractService.java:582)
at
org.vfny.geoserver.servlets.AbstractService.doGet(AbstractService.java:315)
at
org.geoserver.request.Dispatcher.dispatch(Dispatcher.java:192)
at
org.geoserver.request.Dispatcher.handleRequestInternal(Dispatcher.java:52)
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.doGet(FrameworkServlet.java:347)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:445)
at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1050)
at
org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:103)
at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1041)
at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:354)
at
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:226)
at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:627)
at
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:149)
at
org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:123)
at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:141)
at org.mortbay.jetty.Server.handle(Server.java:269)
at
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:430)
at
org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:687)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:492)
at
org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:199)
at
org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:339)
at
org.mortbay.jetty.nio.HttpChannelEndPoint.run(HttpChannelEndPoint.java:270)
at
org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475)
Caused by: java.io.IOException: Error occured processing template.
at
org.vfny.geoserver.wms.responses.map.kml.KMLVectorTransformer$KMLTranslator.encodePlacemarkDescription(KMLVectorTransformer.java:610)
at
org.vfny.geoserver.wms.responses.map.kml.KMLVectorTransformer$KMLTranslator.encodePlacemark(KMLVectorTransformer.java:562)
... 42 more
Caused by: freemarker.core.InvalidReferenceException: Expression
a.value is undefined on line 19, column 3 in
kmlPlacemarkDescription.ftl.
at
freemarker.core.TemplateObject.assertNonNull(TemplateObject.java:124)
at
freemarker.core.Expression.getStringValue(Expression.java:118)
at freemarker.core.Expression.getStringValue(Expression.java:93)
at freemarker.core.DollarVariable.accept(DollarVariable.java:76)
at freemarker.core.Environment.visit(Environment.java:196)
at freemarker.core.MixedContent.accept(MixedContent.java:92)
at freemarker.core.Environment.visit(Environment.java:196)
at freemarker.core.IfBlock.accept(IfBlock.java:82)
at freemarker.core.Environment.visit(Environment.java:196)
at freemarker.core.MixedContent.accept(MixedContent.java:92)
at freemarker.core.Environment.visit(Environment.java:196)
at
freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:172)
at freemarker.core.Environment.visit(Environment.java:351)
at freemarker.core.IteratorBlock.accept(IteratorBlock.java:95)
at freemarker.core.Environment.visit(Environment.java:196)
at freemarker.core.MixedContent.accept(MixedContent.java:92)
at freemarker.core.Environment.visit(Environment.java:196)
at freemarker.core.Environment.process(Environment.java:176)
at freemarker.template.Template.process(Template.java:232)
at
org.vfny.geoserver.wms.responses.map.kml.KMLVectorTransformer$KMLTranslator.encodePlacemarkDescription(KMLVectorTransformer.java:607)
... 43 more
763592596 [btpool0-119] ERROR freemarker.runtime -
Expression a.value is undefined on line 19, column 3 in
kmlPlacemarkDescription.ftl.
The problematic instruction:
----------
==> ${a.value} [on line 19, column 1 in kmlPlacemarkDescription.ftl]
----------
Java backtrace for programmers:
----------
freemarker.core.InvalidReferenceException: Expression a.value is
undefined on line 19, column 3 in kmlPlacemarkDescription.ftl.
at
freemarker.core.TemplateObject.assertNonNull(TemplateObject.java:124)
at
freemarker.core.Expression.getStringValue(Expression.java:118)
at freemarker.core.Expression.getStringValue(Expression.java:93)
at freemarker.core.DollarVariable.accept(DollarVariable.java:76)
at freemarker.core.Environment.visit(Environment.java:196)
at freemarker.core.MixedContent.accept(MixedContent.java:92)
at freemarker.core.Environment.visit(Environment.java:196)
at freemarker.core.IfBlock.accept(IfBlock.java:82)
at freemarker.core.Environment.visit(Environment.java:196)
at freemarker.core.MixedContent.accept(MixedContent.java:92)
at freemarker.core.Environment.visit(Environment.java:196)
at
freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:172)
at freemarker.core.Environment.visit(Environment.java:351)
at freemarker.core.IteratorBlock.accept(IteratorBlock.java:95)
at freemarker.core.Environment.visit(Environment.java:196)
at freemarker.core.MixedContent.accept(MixedContent.java:92)
at freemarker.core.Environment.visit(Environment.java:196)
at freemarker.core.Environment.process(Environment.java:176)
at freemarker.template.Template.process(Template.java:232)
at
org.vfny.geoserver.wms.responses.map.kml.KMLVectorTransformer$KMLTranslator.encodePlacemarkDescription(KMLVectorTransformer.java:607)
at
org.vfny.geoserver.wms.responses.map.kml.KMLVectorTransformer$KMLTranslator.encodePlacemark(KMLVectorTransformer.java:562)
at
org.vfny.geoserver.wms.responses.map.kml.KMLVectorTransformer$KMLTranslator.encode(KMLVectorTransformer.java:246)
at
org.vfny.geoserver.wms.responses.map.kml.KMLVectorTransformer$KMLTranslator.encode(KMLVectorTransformer.java:218)
at
org.vfny.geoserver.wms.responses.map.kml.KMLVectorTransformer$KMLTranslator.encode(KMLVectorTransformer.java:196)
at
org.vfny.geoserver.wms.responses.map.kml.KMLTransformer$KMLTranslator.encodeVectorLayer(KMLTransformer.java:162)
at
org.vfny.geoserver.wms.responses.map.kml.KMLTransformer$KMLTranslator.encode(KMLTransformer.java:100)
at
org.geotools.xml.transform.TransformerBase$XMLReaderSupport.parse(TransformerBase.java:625)
at
org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:484)
at
org.geotools.xml.transform.TransformerBase$Task.run(TransformerBase.java:293)
at
org.geotools.xml.transform.TransformerBase.transform(TransformerBase.java:126)
at
org.geotools.xml.transform.TransformerBase.transform(TransformerBase.java:105)
at
org.vfny.geoserver.wms.responses.map.kml.KMLMapProducer.writeTo(KMLMapProducer.java:108)
at
org.vfny.geoserver.wms.responses.GetMapResponse.writeTo(GetMapResponse.java:472)
at
org.vfny.geoserver.servlets.AbstractService.doService(AbstractService.java:582)
at
org.vfny.geoserver.servlets.AbstractService.doGet(AbstractService.java:315)
at
org.geoserver.request.Dispatcher.dispatch(Dispatcher.java:192)
at
org.geoserver.request.Dispatcher.handleRequestInternal(Dispatcher.java:52)
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.doGet(FrameworkServlet.java:347)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:445)
at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1050)
at
org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:103)
at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1041)
at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:354)
at
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:226)
at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:627)
at
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:149)
at
org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:123)
at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:141)
at org.mortbay.jetty.Server.handle(Server.java:269)
at
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:430)
at
org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:687)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:492)
at
org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:199)
at
org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:339)
at
org.mortbay.jetty.nio.HttpChannelEndPoint.run(HttpChannelEndPoint.java:270)
at
org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475)
jdeolive@anonymised.com wrote:
Hmm, this is kind of messed up. Is the server throwing any exceptions? I
have a feeling an exception is occurring during the encoding of the
placemark description ( which uses the template ). Because nothing after
the name is being written out from what i can tell, and the placemark
tag is never closed which is pretty messed up. Can you verify this,
there should be something in the log about a feature not being encoded
properly.
But this brings up a good bug. When loading a template fails some
cleanup needs to be performed in order to ensure that a valid document
is produced.
http://jira.codehaus.org/browse/GEOS-1153
-Justin
Michael Frumin wrote:
http://transit.frumin.net/geoserver/wms?VERSION=1.1.1&REQUEST=GetMap&SERVICE=WMS&SRS=EPSG:4326&STYLES=&TRANSPARENT=FALSE&UNIQUEID=&BBOX=-74.04730987548828,40.54514344465497,-73.70000457763672,40.9154049
5622394&WIDTH=400&HEIGHT=400&FORMAT=application/vnd.google-earth.kml+XML&KMATTR=TRUE&LAYERS=frumin:subway_stations
<http://transit.frumin.net/geoserver/wms?VERSION=1.1.1&REQUEST=GetMap&SERVICE=WMS&SRS=EPSG:4326&STYLES=&TRANSPARENT=FALSE&UNIQUEID=&BBOX=-74.04730987548828,40.54514344465497,-73.70000457763672,40.915404
95622394&WIDTH=400&HEIGHT=400&FORMAT=application/vnd.google-earth.kml+XML&KMATTR=TRUE&LAYERS=frumin:subway_stations>
returns the ever-so-useful error when opened in google earth:
Open of file "C:\........" failed: Parse error at line 1, column
*/249382/*
mismatched tag
this happens on many of my layers when i do KMATTR=TRUE. it is
basically always griping at the end of the file.
thanks,
mike
------------------------------------------------------------------------
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
!DSPAM:4007,4672e390141201030819293!
------------------------------------------------------------------------
_______________________________________________
Geoserver-users mailing list
Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users
!DSPAM:4007,4672e390141201030819293!
-- Justin Deoliveira
The Open Planning Project
jdeolive@anonymised.com
!DSPAM:4007,4679487282673327367457!
------------------------------------------------------------------------
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
!DSPAM:4007,4679487282673327367457!
------------------------------------------------------------------------
_______________________________________________
Geoserver-users mailing list
Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users
!DSPAM:4007,4679487282673327367457!
--
Justin Deoliveira
The Open Planning Project
http://topp.openplans.org