Hi Justin, Andrea,
here's my code. The WFS (GeoServer) request included should work as an
example.
public static void main(String[] args) {
try {
InputStream in = new
URL("http://pisa007.pisa.intecs.it/geoserver/wfs?request=GetFeature&service=WFS&version=1.0.0&typeName=topp:Portugal_Creation_20Points")
.openStream();
Configuration configuration = new WFSConfiguration();
configuration.getProperties().add(
Parser.Properties.IGNORE_SCHEMA_LOCATION );
configuration.getProperties().add(
Parser.Properties.PARSE_UNKNOWN_ELEMENTS );
Parser parser = new Parser(configuration);
Map map = (Map) parser.parse(in);
List members = (List) map.get( "featureMember" );
for ( Iterator i = members.iterator(); i.hasNext(); ) {
Map f = (Map) i.next();
Point point = (Point) f.get( "pointProperty" );
}
in.close();
} catch (Throwable t) {
t.printStackTrace();
}
I also tried with a streaming parser:
(...)
String xpath = "//Point";
StreamingParser parser = new StreamingParser( configuration, in,
xpath );
Point f = null;
while( (f = (Point) parser.parse()) != null ) {
// do something
}
(...)
but with the same effect:
Exception in thread "Thread-0" java.lang.RuntimeException:
java.lang.RuntimeException: Parsing failed for
Portugal_Creation_20Points:
org.geotools.feature.IllegalAttributeException: No attribute named the_geom
at org.geotools.xml.StreamingParser$1.run(StreamingParser.java:227)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.RuntimeException: Parsing failed for
Portugal_Creation_20Points:
org.geotools.feature.IllegalAttributeException: No attribute named the_geom
at org.geotools.xml.impl.ParseExecutor.visit(ParseExecutor.java:96)
at
org.geotools.xml.impl.BindingWalker$BindingExecutionChain.execute(BindingWalker.java:204)
at org.geotools.xml.impl.BindingWalker.walk(BindingWalker.java:163)
at
org.geotools.xml.impl.ElementHandlerImpl.endElement(ElementHandlerImpl.java:191)
at
org.geotools.xml.impl.ParserHandler.endElement(ParserHandler.java:399)
at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown
Source)
at
org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(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.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown
Source)
at javax.xml.parsers.SAXParser.parse(Unknown Source)
at javax.xml.parsers.SAXParser.parse(Unknown Source)
at org.geotools.xml.StreamingParser$1.run(StreamingParser.java:223)
... 1 more
Caused by: org.geotools.feature.IllegalAttributeException: No attribute
named the_geom
at
org.geotools.feature.DefaultFeature.setAttribute(DefaultFeature.java:283)
at
org.geotools.gml2.bindings.GMLAbstractFeatureTypeBinding.parse(GMLAbstractFeatureTypeBinding.java:236)
at org.geotools.xml.impl.ParseExecutor.visit(ParseExecutor.java:84)
... 17 more
Also the same for the GMLConfiguration.
Hope this helps. Thanks again for your help.
Michael
Justin Deoliveira wrote:
>> Michal, I think we would be able to solve this faster if you could
>> give us a small GML document and a main with the code you're using
>> to parse it. Add a bit of patience too, since Justin lives in Canada, west
>> coast,
>> so he's quite out of synch with our timezone.
>
> Well I believe it is a bit more complicated then just a simple gml file.
> Michael is trying to parse features from a wfs. But by all means send me
> some sample xml and the code you are using to parse and I would be happy
> to debug what is going on and help you worth through this issue.
>
>> Cheers
>> Andrea
>>
>> -------------------------------------------------------------------------
>> Take Surveys. Earn Cash. Influence the Future of IT
>> Join SourceForge.net's Techsay panel and you'll get the chance to share your
>> opinions on IT & business topics through brief surveys-and earn cash
>> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
>> _______________________________________________
>> Geotools-devel mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/geotools-devel
>>
>> !DSPAM:1004,45deb194160082223018498!
>>
>
>
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Geotools-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-devel