I was trying to track down a user reported error for udig communicating with geoserver - with 1.1M8. This is just add & view a WFS data store in udig.
The actual request is:
<?xml version="1.0" encoding="UTF-8"?>
<GetFeature xmlns="http://www.opengis.net/wfs" xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc" version="1.0.0" service="WFS" outputFormat="GML2"><Query typeName="topp:countries"><ogc:PropertyName>gen_full</ogc:PropertyName>
<ogc:Filter><ogc:BBOX><ogc:PropertyName>gen_full</ogc:PropertyName>
<gml:Box><gml:coordinates decimal="." cs="," ts=" ">-73.99072169855336,40.750998793853334 -73.92145139669228,40.781905108658854</gml:coordinates>
</gml:Box>
</ogc:BBOX>
</ogc:Filter>
</Query>
</GetFeature>
If I send this request to Geoserver (using the sample request form in the geoserver gui), it works just fine - no problems.
But, when udig makes the request, all heck breaks loose. The only thing I can think of is that udig is prematurely closing the connection to geoserver (the exception is "EOFException(java.net.SocketException: Connection reset by peer: socket write error)"). There's nothing in the udig log.
Any ideas whats happening?
dave
Here's a more complete stack trace (it hard to get better because the exception gets caught, wrapped, and re-thrown):
EOFException(java.net.SocketException: Connection reset by peer: socket write error)
at org.apache.xml.serializer.ToStream.characters(ToStream.java:1514)
at org.apache.xalan.transformer.TransformerIdentityImpl.characters(TransformerIdentityImpl.java:1096)
at org.geotools.xml.transform.TransformerBase$ContentHandlerFilter.characters(TransformerBase.java:318)
at org.geotools.gml.producer.CoordinateWriter.writeCoordinates(CoordinateWriter.java:148)
at org.geotools.gml.producer.GeometryTransformer$GeometryTranslator.writePolygon(GeometryTransformer.java:202)
at org.geotools.gml.producer.GeometryTransformer$GeometryTranslator.encode(GeometryTransformer.java:177)
at org.geotools.gml.producer.GeometryTransformer$GeometryTranslator.encode(GeometryTransformer.java:147)
at org.geotools.gml.producer.GeometryTransformer$GeometryTranslator.writeMulti(GeometryTransformer.java:233)
at org.geotools.gml.producer.GeometryTransformer$GeometryTranslator.encode(GeometryTransformer.java:185)
at org.geotools.gml.producer.FeatureTransformer$FeatureTranslator.handleAttribute(FeatureTransformer.java:561)
at org.geotools.gml.producer.FeatureTransformer$FeatureTranslator.handleFeatureReader(FeatureTransformer.java:420)
at org.geotools.gml.producer.FeatureTransformer$FeatureTranslator.encode(FeatureTransformer.java:396)
at org.geotools.xml.transform.TransformerBase$XMLReaderSupport.parse(TransformerBase.java:611)
at org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:463)
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.wfs.responses.GML2FeatureResponseDelegate.encode(GML2FeatureResponseDelegate.java:225)
at org.vfny.geoserver.wfs.responses.FeatureResponse.writeTo(FeatureResponse.java:132)
at org.vfny.geoserver.servlets.AbstractService.doService(AbstractService.java:510)
at org.vfny.geoserver.servlets.AbstractService.doPost(AbstractService.java:387)
at org.vfny.geoserver.wfs.servlets.WfsDispatcher.doResponse(WfsDispatcher.java:286)
at org.vfny.geoserver.wfs.servlets.WfsDispatcher.doPost(WfsDispatcher.java:175)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:358)
at org.mortbay.jetty.servlet.WebApplicationHandler$Chain.doFilter(WebApplicationHandler.java:342)
at org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:122)
at org.mortbay.jetty.servlet.WebApplicationHandler$Chain.doFilter(WebApplicationHandler.java:334)
at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:286)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:567)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1807)
at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:525)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1757)
at org.mortbay.http.HttpServer.service(HttpServer.java:879)
at org.mortbay.http.HttpConnection.service(HttpConnection.java:790)
at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:961)
at org.mortbay.http.HttpConnection.handle(HttpConnection.java:807)
at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:197)
at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:276)
at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:511)
Here's it cut down a bit more...
java.lang.RuntimeException: java.lang.RuntimeException: EOFException(java.net.SocketException: Software caused connection abort: socket write error)
at org.geotools.gml.producer.FeatureTransformer$FeatureTranslator.handleAttribute(FeatureTransformer.java:575)
at org.geotools.gml.producer.FeatureTransformer$FeatureTranslator.handleFeatureReader(FeatureTransformer.java:420)
at org.geotools.gml.producer.FeatureTransformer$FeatureTranslator.encode(FeatureTransformer.java:396)
at org.geotools.xml.transform.TransformerBase$XMLReaderSupport.parse(TransformerBase.java:611)
at org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:463)
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.wfs.responses.GML2FeatureResponseDelegate.encode(GML2FeatureResponseDelegate.java:225)
at org.vfny.geoserver.wfs.responses.FeatureResponse.writeTo(FeatureResponse.java:132)
at org.vfny.geoserver.servlets.AbstractService.doService(AbstractService.java:510)
at org.vfny.geoserver.servlets.AbstractService.doGet(AbstractService.java:276)
at org.vfny.geoserver.wfs.servlets.WfsDispatcher.doResponse(WfsDispatcher.java:284)
at org.vfny.geoserver.wfs.servlets.WfsDispatcher.doGet(WfsDispatcher.java:213)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:358)
at org.mortbay.jetty.servlet.WebApplicationHandler$Chain.doFilter(WebApplicationHandler.java:342)
at org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:122)
at org.mortbay.jetty.servlet.WebApplicationHandler$Chain.doFilter(WebApplicationHandler.java:334)
at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:286)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:567)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1807)
at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:525)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1757)
at org.mortbay.http.HttpServer.service(HttpServer.java:879)
at org.mortbay.http.HttpConnection.service(HttpConnection.java:790)
at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:961)
at org.mortbay.http.HttpConnection.handle(HttpConnection.java:807)
at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:197)
at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:276)
at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:511)
Caused by: java.lang.RuntimeException: EOFException(java.net.SocketException: Software caused connection abort: socket write error)
at org.geotools.gml.producer.GeometryTransformer$GeometryTranslator.writePolygon(GeometryTransformer.java:206)
at org.geotools.gml.producer.GeometryTransformer$GeometryTranslator.encode(GeometryTransformer.java:177)
at org.geotools.gml.producer.GeometryTransformer$GeometryTranslator.encode(GeometryTransformer.java:147)
at org.geotools.gml.producer.GeometryTransformer$GeometryTranslator.writeMulti(GeometryTransformer.java:233)
at org.geotools.gml.producer.GeometryTransformer$GeometryTranslator.encode(GeometryTransformer.java:185)
at org.geotools.gml.producer.FeatureTransformer$FeatureTranslator.handleAttribute(FeatureTransformer.java:561)
... 31 more
Caused by: EOFException(java.net.SocketException: Software caused connection abort: socket write error)
at org.apache.xml.serializer.ToStream.characters(ToStream.java:1514)
at org.apache.xalan.transformer.TransformerIdentityImpl.characters(TransformerIdentityImpl.java:1096)
at org.geotools.xml.transform.TransformerBase$ContentHandlerFilter.characters(TransformerBase.java:318)
at org.geotools.gml.producer.CoordinateWriter.writeCoordinates(CoordinateWriter.java:148)
at org.geotools.gml.producer.GeometryTransformer$GeometryTranslator.writePolygon(GeometryTransformer.java:202)
... 36 more