[Geoserver-devel] Connecting to GeoServer through FME Viewer or ArcExplorer

Hello all.

I just downloaded GeoServer yesterday and installed it on Resin. This is
my first time dealing with WFS and GML, so it is a little overwhelming
at start. Excuse my impatience for not trying to delve into a lot of
documentation on WFS, but my main concern right now is to find a
solution to best serve spatial data to people outside of our
organization, with a demo, before the weekend. After that, I will work
on completely understanding the application.

GeoServer works great. I have a PostGIS table called citytowns and when I
go to http://192.168.1.222/geoserver/GetFeature?TYPENAME=myns:citytowns
I get a page of GML with all of the data. My question is this. I want to
interface any WFS client to GeoServer. Has anyone tried ArcExplorer 4.01
(it’s free)? Also, I have tried FME Universal Viewer. I can only connect
to the WFS with this connection path
http://192.168.1.222/geoserver/GetCapabilities. Here is the output from
FME in a log file;

Server {host, port, path}: {192.168.1.222', 80’, /geoserver/GetCapabilities'} <WFS> Capabilities document URL: http://192.168.1.222:80/geoserver/GetCapabilities?SERVICE=WFS&VERSION=1.0.0&REQUEST=GetCapabilities’

Features document URL: `http://192.168.1.222:80/geoserver/GetCapabilities?SERVICE=WFS&VERSION=1.0.0&REQUEST=GetFeature&TYPENAME=myns:citytown’

Using Dynamic Reader $Revision: 5.0 $ ( $Date: 2003/04/05 02:04:56 $ ) with module WFS to read data from dataset `http://192.168.1.222/geoserver/GetCapabilities’

The uri-map document ‘C:\Program Files\FME2003X2\xml\urimap\urimap.xml’ is being used to map from URI to URI
Using Dynamic Reader $Revision: 5.0 $ ( $Date: 2003/04/05 02:04:56 $ ) with module GML2 to read data from dataset `http://192.168.1.222:80/geoserver/GetCapabilities?SERVICE=WFS&VERSION=1.0.0&REQUEST=GetFeature&TYPENAME=myns:citytown’

Unable to determine the schema location for the dataset 'http://192.168.1.222:80/geoserver/GetCapabilities?SERVICE=WFS&VERSION=1.0.0&REQUEST=GetFeature&TYPENAME=myns:citytown’

The GML2 module halted on error, see the logfile for details

How should I set connection paths and/or move schema files? Which .xsd files are needed to read the exported GML from the WFS? I am at a loss here, so any help anyone can give me would be much appreciated. Sorry for the long message.

I just downloaded GeoServer yesterday and installed it on Resin. This is
my first time dealing with WFS and GML, so it is a little overwhelming
at start. Excuse my impatience for not trying to delve into a lot of
documentation on WFS, but my main concern right now is to find a
solution to best serve spatial data to people outside of our
organization, with a demo, before the weekend. After that, I will work
on completely understanding the application.

No worries, it's definitely a lot to absorb at once.

GeoServer works great. I have a PostGIS table called citytowns and when I
go to http://192.168.1.222/geoserver/GetFeature?TYPENAME=myns:citytowns
I get a page of GML with all of the data. My question is this. I want to
interface any WFS client to GeoServer. Has anyone tried ArcExplorer 4.01
(it's free)? Also, I have tried FME Universal Viewer.

I haven't tried either of those. I can't try out the FME Universal
Viewer, because as far as I can tell there's no linux version. I'm
downloading ArcExplorer right now and we'll see how it does.

I can only connect
to the WFS with this connection path
http://192.168.1.222/geoserver/GetCapabilities. Here is the output from
FME in a log file;

<WFS> Server {host, port, path}: {`192.168.1.222', `80',
`/geoserver/GetCapabilities'}
<WFS> Capabilities document URL:
`http://192.168.1.222:80/geoserver/GetCapabilities?SERVICE=WFS&VERSION=1.0.0
&REQUEST=GetCapabilities'
<WFS> Features document URL:
`http://192.168.1.222:80/geoserver/GetCapabilities?SERVICE=WFS&VERSION=1.0.0
&REQUEST=GetFeature&TYPENAME=myns:citytown'
Using Dynamic Reader $Revision: 5.0 $ ( $Date: 2003/04/05 02:04:56 $ ) with
module WFS to read data from dataset
`http://192.168.1.222/geoserver/GetCapabilities
The uri-map document 'C:\Program Files\FME2003X2\xml\urimap\urimap.xml' is
being used to map from URI to URI
Using Dynamic Reader $Revision: 5.0 $ ( $Date: 2003/04/05 02:04:56 $ ) with
module GML2 to read data from dataset
`http://192.168.1.222:80/geoserver/GetCapabilities?SERVICE=WFS&VERSION=1.0.0
&REQUEST=GetFeature&TYPENAME=myns:citytown'
Unable to determine the schema location for the dataset
'http://192.168.1.222:80/geoserver/GetCapabilities?SERVICE=WFS&VERSION=1.0.0
&REQUEST=GetFeature&TYPENAME=myns:citytown'
The GML2 module halted on error, see the logfile for details

Well it looks like the FME client might not be actually spec compliant, as
it's asking for the GetFeature request in the wrong place. GeoServer has
it's different operations in different locations, so the last line should
be asking for http://192.168.1.222:80/geoserver/GetFeature?SERVICE
instead of geoserver/GetCapabilities. Our capabilities document
advertises that the GetFeature operation is at geoserver/GetFeature - so I
think the client is just assuming that the GetFeature url is the same as
the GetCapabilities place. We've actually been meaning to make a
dispatcher servlet that will allow all requests to be made to the same
location, but it's not very high on the priority list, as it's not part of
the specification. I don't know if there's some option in the client that
makes it better at looking at the correct place. If you'd like I can bump
the dispatcher servlet up my priority list, but I doubt I can get it in
time for you to demo this weekend, as you'd have to get all the other
pieces in place after I even get it up.

How should I set connection paths and/or move schema files? Which .xsd files
are needed to read the exported GML from the WFS?

If the parser is smart and can go to the schemaLocations you shouldn't
need any .xsd files. If the wfs client uses the the schema of the feature
then you will need to get the right schema.xml file in the citytown
folder. Check
http://geoserver.sf.net/documentation/user/schemaTutorial.htm for a quick
introduction - just make your file match the column names of your postgis
table.

I'll try out ArcExplorer and let you know if I get it working, but
unfortunately I don't know of many good clients out there, we've been
focused on getting the server working and compliant. Within a few months
the GeoClient developers should hopefully have a good open source client
to visualize the data, but for this weekend I'm not sure what to tell you.

  Chris