[Geoserver-devel] WFS Filter

Hi, list,
I have a probem and maybe someone can help me. I don't know if it's a bug or
it's me.
Here it is:

when i do the following POST request, everything works OK.

<GetFeature outputFormat="GML2" xmlns="http://www.opengis.net/wfs&quot;
xmlns:gml="http://www.opengis.net/gml&quot;
xmlns:ogc="http://www.opengis.net/ogc&quot;&gt;
<Query typeName="local:europa">
<Filter>
<Within>
<PropertyName>the_geom</PropertyName>
<gml:Polygon srsName="http://www.opengis.net/gml/srs/epsg.xml#4326&quot;&gt;
<gml:outerBoundaryIs>
<gml:LinearRing>
<gml:coordinates>966472.125,5277602 963303.5,5280740.5 962845,5281478.5
961950.75,5284495.5 961776.1875,5285428 961929.625,5286623.5
962395.375,5287797.5 962855.25,5288327.5 963016.875,5288514.5
963444,5289304.5 965262.5625,5295135.5 965418.875,5296120 965282.5,5296991
964695.875,5297969 963981.5625,5298636.5 960889,5300655 956743.875,5301482
954087.625,5301667 947589.75,5304833.5 946991.625,5305211.5
944313.1875,5309069.5 943691.6875,5310789 943207.5,5312528 943208,5313418.5
944982.625,5316743 947516.8125,5319808 950886.9375,5321050.5
953001.125,5321805.5 953791.75,5322010.5 956943.6875,5322231
958499.4375,5322202 966546.75,5321180 967903.25,5319653.5
969159.625,5317050.5 969903.5625,5317057 974220.0625,5317157
975630.75,5317602.5 976112.4375,5317754 977439.875,5317543 979592.5,5316246
980652.125,5315470 983887.75,5312501 989689.875,5306197.5
990528.4375,5305055.5 990911.875,5304336 993846.9375,5296356
994625.9375,5293970 994684.6875,5293222.5 994174.6875,5282365.5
994112.4375,5281332 994010.625,5281015.5 993700.3125,5280827.5
992829.0625,5281611 992402.5625,5281712.5 992281.0625,5281427
992384.875,5279096 993348.125,5274489.5 993551.4375,5273740.5
994571.6875,5269978.5 994452.875,5269482.5 993516.875,5267896
988400.9375,5267985.5 985995.6875,5267772 983584.9375,5267557.5
981580.6875,5267038 978548.1875,5265320.5 976287.1875,5264389
975457.5625,5264350.5 974455.875,5265034 973509.5625,5265836
971160.3125,5268413 968675.125,5272307.5 966546.5625,5276693
966472.125,5277602</gml:coordinates>
</gml:LinearRing>
</gml:outerBoundaryIs>
</gml:Polygon>
</Within>
</Filter>
</Query>
</GetFeature>

but when i try the same (i think) request using the GET method:

http://myserver/geoserver/wfs?request=GetFeature&typename=local:europa&filte
r=<Filter
xmlns:gml="http://www.opengis.net/gml&quot;&gt;&lt;Within&gt;&lt;PropertyName&gt;the\_geom&lt;/Prope
rtyName><gml:Polygon
srsName="http://www.opengis.net/gml/srs/epsg.xml#4326&quot;&gt;&lt;gml:outerBoundaryIs&gt;
<gml:LinearRing><gml:coordinates>966472.125,5277602 963303.5,5280740.5
962845,5281478.5 961950.75,5284495.5 961776.1875,5285428
961929.625,5286623.5 962395.375,5287797.5 962855.25,5288327.5
963016.875,5288514.5 963444,5289304.5 965262.5625,5295135.5
965418.875,5296120 965282.5,5296991 964695.875,5297969 963981.5625,5298636.5
960889,5300655 956743.875,5301482 954087.625,5301667 947589.75,5304833.5
946991.625,5305211.5 944313.1875,5309069.5 943691.6875,5310789
943207.5,5312528 943208,5313418.5 944982.625,5316743 947516.8125,5319808
950886.9375,5321050.5 953001.125,5321805.5 953791.75,5322010.5
956943.6875,5322231 958499.4375,5322202 966546.75,5321180
967903.25,5319653.5 969159.625,5317050.5 969903.5625,5317057
974220.0625,5317157 975630.75,5317602.5 976112.4375,5317754
977439.875,5317543 979592.5,5316246 980652.125,5315470 983887.75,5312501
989689.875,5306197.5 990528.4375,5305055.5 990911.875,5304336
993846.9375,5296356 994625.9375,5293970 994684.6875,5293222.5
994174.6875,5282365.5 994112.4375,5281332 994010.625,5281015.5
993700.3125,5280827.5 992829.0625,5281611 992402.5625,5281712.5
992281.0625,5281427 992384.875,5279096 993348.125,5274489.5
993551.4375,5273740.5 994571.6875,5269978.5 994452.875,5269482.5
993516.875,5267896 988400.9375,5267985.5 985995.6875,5267772
983584.9375,5267557.5 981580.6875,5267038 978548.1875,5265320.5
976287.1875,5264389 975457.5625,5264350.5 974455.875,5265034
973509.5625,5265836 971160.3125,5268413 968675.125,5272307.5
966546.5625,5276693
966472.125,5277602</gml:coordinates></gml:LinearRing></gml:outerBoundaryIs><
/gml:Polygon></Within></Filter>

I get the following error:

<?xml version="1.0" ?>
<ServiceExceptionReport
   version="1.2.0"
   xmlns="http://www.opengis.net/ogc&quot;
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance&quot;
   xsi:schemaLocation="http://www.opengis.net/ogc
http://schemas.opengis.net/wfs/1.0.0/OGC-exception.xsd&quot;&gt;
   <ServiceException
locator="org.vfny.geoserver.requests.readers.XmlRequestReader">
      XML getFeature request SAX parsing error:
org.xml.sax.SAXParseException: XML document structures must start and end
within the same entity.
  at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
  at org.xml.sax.helpers.ParserAdapter.parse(Unknown Source)
  at
org.vfny.geoserver.requests.readers.XmlRequestReader.readFilter(XmlRequestRe
ader.java:81)
  at
org.vfny.geoserver.requests.readers.KvpRequestReader.readFilters(KvpRequestR
eader.java:327)
  at
org.vfny.geoserver.requests.readers.wfs.GetFeatureKvpReader.getRequest(GetFe
atureKvpReader.java:118)
  at
org.vfny.geoserver.requests.readers.wfs.GetFeatureKvpReader.getRequest(GetFe
atureKvpReader.java:52)
  at
org.vfny.geoserver.servlets.AbstractService.doGet(AbstractService.java:218)
  at
org.vfny.geoserver.servlets.wfs.WfsDispatcher.doResponse(WfsDispatcher.java:
219)
  at
org.vfny.geoserver.servlets.wfs.WfsDispatcher.doGet(WfsDispatcher.java:148)
  at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
  at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
  at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:247)
  at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:193)
  at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:256)
  at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
  at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
  at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
  at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:191)
  at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
  at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
  at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
  at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
  at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180
)
  at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
  at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.
java:171)
  at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:641)
  at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172
)
  at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:641)
  at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
  at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
  at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:174)
  at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
  at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
  at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
  at
org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
  at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:594)
  at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConne
ction(Http11Protocol.java:392)
  at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
  at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav
a:619)
  at java.lang.Thread.run(Thread.java:536)
   </ServiceException>
</ServiceExceptionReport>

can anyone give me some lights about this?

thanks and kind regards,

Manuel Gomes

Hmmm... I suspect it may have something to do with the way the get
requests try to clean the kvps. Could you set the logging level to
FINER and send the logs? It'd be best to put this on the jira task
tracker (linked off of geoserver homepage and the welcome page), to
make sure this gets hit, as I have so much email to catch up on its not
even funny.

Quoting Manuel Mesquita Gomes <mmgomes@anonymised.com>:

Hi, list,
I have a probem and maybe someone can help me. I don't know if it's a
bug or
it's me.
Here it is:

when i do the following POST request, everything works OK.

<GetFeature outputFormat="GML2" xmlns="http://www.opengis.net/wfs&quot;
xmlns:gml="http://www.opengis.net/gml&quot;
xmlns:ogc="http://www.opengis.net/ogc&quot;&gt;
<Query typeName="local:europa">
<Filter>
<Within>
<PropertyName>the_geom</PropertyName>
<gml:Polygon srsName="http://www.opengis.net/gml/srs/epsg.xml#4326&quot;&gt;
<gml:outerBoundaryIs>
<gml:LinearRing>
<gml:coordinates>966472.125,5277602 963303.5,5280740.5
962845,5281478.5
961950.75,5284495.5 961776.1875,5285428 961929.625,5286623.5
962395.375,5287797.5 962855.25,5288327.5 963016.875,5288514.5
963444,5289304.5 965262.5625,5295135.5 965418.875,5296120
965282.5,5296991
964695.875,5297969 963981.5625,5298636.5 960889,5300655
956743.875,5301482
954087.625,5301667 947589.75,5304833.5 946991.625,5305211.5
944313.1875,5309069.5 943691.6875,5310789 943207.5,5312528
943208,5313418.5
944982.625,5316743 947516.8125,5319808 950886.9375,5321050.5
953001.125,5321805.5 953791.75,5322010.5 956943.6875,5322231
958499.4375,5322202 966546.75,5321180 967903.25,5319653.5
969159.625,5317050.5 969903.5625,5317057 974220.0625,5317157
975630.75,5317602.5 976112.4375,5317754 977439.875,5317543
979592.5,5316246
980652.125,5315470 983887.75,5312501 989689.875,5306197.5
990528.4375,5305055.5 990911.875,5304336 993846.9375,5296356
994625.9375,5293970 994684.6875,5293222.5 994174.6875,5282365.5
994112.4375,5281332 994010.625,5281015.5 993700.3125,5280827.5
992829.0625,5281611 992402.5625,5281712.5 992281.0625,5281427
992384.875,5279096 993348.125,5274489.5 993551.4375,5273740.5
994571.6875,5269978.5 994452.875,5269482.5 993516.875,5267896
988400.9375,5267985.5 985995.6875,5267772 983584.9375,5267557.5
981580.6875,5267038 978548.1875,5265320.5 976287.1875,5264389
975457.5625,5264350.5 974455.875,5265034 973509.5625,5265836
971160.3125,5268413 968675.125,5272307.5 966546.5625,5276693
966472.125,5277602</gml:coordinates>
</gml:LinearRing>
</gml:outerBoundaryIs>
</gml:Polygon>
</Within>
</Filter>
</Query>
</GetFeature>

but when i try the same (i think) request using the GET method:

http://myserver/geoserver/wfs?request=GetFeature&typename=local:europa&filte

r=<Filter

xmlns:gml="http://www.opengis.net/gml&quot;&gt;&lt;Within&gt;&lt;PropertyName&gt;the\_geom&lt;/Prope

rtyName><gml:Polygon

srsName="http://www.opengis.net/gml/srs/epsg.xml#4326&quot;&gt;&lt;gml:outerBoundaryIs&gt;

<gml:LinearRing><gml:coordinates>966472.125,5277602
963303.5,5280740.5
962845,5281478.5 961950.75,5284495.5 961776.1875,5285428
961929.625,5286623.5 962395.375,5287797.5 962855.25,5288327.5
963016.875,5288514.5 963444,5289304.5 965262.5625,5295135.5
965418.875,5296120 965282.5,5296991 964695.875,5297969
963981.5625,5298636.5
960889,5300655 956743.875,5301482 954087.625,5301667
947589.75,5304833.5
946991.625,5305211.5 944313.1875,5309069.5 943691.6875,5310789
943207.5,5312528 943208,5313418.5 944982.625,5316743
947516.8125,5319808
950886.9375,5321050.5 953001.125,5321805.5 953791.75,5322010.5
956943.6875,5322231 958499.4375,5322202 966546.75,5321180
967903.25,5319653.5 969159.625,5317050.5 969903.5625,5317057
974220.0625,5317157 975630.75,5317602.5 976112.4375,5317754
977439.875,5317543 979592.5,5316246 980652.125,5315470
983887.75,5312501
989689.875,5306197.5 990528.4375,5305055.5 990911.875,5304336
993846.9375,5296356 994625.9375,5293970 994684.6875,5293222.5
994174.6875,5282365.5 994112.4375,5281332 994010.625,5281015.5
993700.3125,5280827.5 992829.0625,5281611 992402.5625,5281712.5
992281.0625,5281427 992384.875,5279096 993348.125,5274489.5
993551.4375,5273740.5 994571.6875,5269978.5 994452.875,5269482.5
993516.875,5267896 988400.9375,5267985.5 985995.6875,5267772
983584.9375,5267557.5 981580.6875,5267038 978548.1875,5265320.5
976287.1875,5264389 975457.5625,5264350.5 974455.875,5265034
973509.5625,5265836 971160.3125,5268413 968675.125,5272307.5
966546.5625,5276693

966472.125,5277602</gml:coordinates></gml:LinearRing></gml:outerBoundaryIs><

/gml:Polygon></Within></Filter>

I get the following error:

<?xml version="1.0" ?>
<ServiceExceptionReport
   version="1.2.0"
   xmlns="http://www.opengis.net/ogc&quot;
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance&quot;
   xsi:schemaLocation="http://www.opengis.net/ogc
http://schemas.opengis.net/wfs/1.0.0/OGC-exception.xsd&quot;&gt;
   <ServiceException
locator="org.vfny.geoserver.requests.readers.XmlRequestReader">
      XML getFeature request SAX parsing error:
org.xml.sax.SAXParseException: XML document structures must start and
end
within the same entity.
  at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
  at org.xml.sax.helpers.ParserAdapter.parse(Unknown Source)
  at

org.vfny.geoserver.requests.readers.XmlRequestReader.readFilter(XmlRequestRe

ader.java:81)
  at

org.vfny.geoserver.requests.readers.KvpRequestReader.readFilters(KvpRequestR

eader.java:327)
  at

org.vfny.geoserver.requests.readers.wfs.GetFeatureKvpReader.getRequest(GetFe

atureKvpReader.java:118)
  at

org.vfny.geoserver.requests.readers.wfs.GetFeatureKvpReader.getRequest(GetFe

atureKvpReader.java:52)
  at

org.vfny.geoserver.servlets.AbstractService.doGet(AbstractService.java:218)

  at

org.vfny.geoserver.servlets.wfs.WfsDispatcher.doResponse(WfsDispatcher.java:

219)
  at

org.vfny.geoserver.servlets.wfs.WfsDispatcher.doGet(WfsDispatcher.java:148)

  at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
  at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
  at

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application

FilterChain.java:247)
  at

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh

ain.java:193)
  at

org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja

va:256)
  at

org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok

eNext(StandardPipeline.java:643)
  at

org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)

  at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
  at

org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja

va:191)
  at

org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok

eNext(StandardPipeline.java:643)
  at

org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)

  at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
  at

org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)

  at

org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180

)
  at

org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok

eNext(StandardPipeline.java:643)
  at

org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.

java:171)
  at

org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok

eNext(StandardPipeline.java:641)
  at

org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172

)
  at

org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok

eNext(StandardPipeline.java:641)
  at

org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)

  at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
  at

org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java

:174)
  at

org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok

eNext(StandardPipeline.java:643)
  at

org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)

  at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
  at

org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)

  at

org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:594)

  at

org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConne

ction(Http11Protocol.java:392)
  at

org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)

  at

org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav

a:619)
  at java.lang.Thread.run(Thread.java:536)
   </ServiceException>
</ServiceExceptionReport>

can anyone give me some lights about this?

thanks and kind regards,

Manuel Gomes

-------------------------------------------------------
This SF.Net email is sponsored by Sleepycat Software
Learn developer strategies Cisco, Motorola, Ericsson & Lucent use to
deliver
higher performing products faster, at low TCO.
http://www.sleepycat.com/telcomwpreg.php?From=osdnemail3
_______________________________________________
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

----------------------------------------------------------
This mail sent through IMP: https://webmail.limegroup.com/