[Geoserver-users] Antwort: Re: Antwort: Re: Antwort: Re: wfsGetFeature-Problem

I'm tagging Chris into this conversation since he knows the most about Oracle, and this appears to be a problem with your Oracle.

Chris: Basically when he uses a WFS request against his shapefile feature types, it works, but when he does the same request against his Oracle feature type he gets the error.

Brent Owens
(The Open Planning Project)

Dirk Buechel wrote:

Dear Brent,

I'm using the WFS request.
With shapefiles it works fine (like in the wfs-t_demo) and I'm getting the requested feature infos!

My oracle table has got a geometry column, a spatial index and a primary key (as told to be necessary in the docs).

I defined with the WebAdminTool a new namespace, a new datastore (to the oracle-user) and the featuretype to the oracle table.
Then I adjusted the config.xml (I sent you the file yesterday) to request the feature infos of the oracle data with "wfsGetFeatureInfo".
And now when I click in the map after choosing the GetFeatureInfo-Button I got the errors I recently sent to you.

cheers

Dirk

Dirk Büchel
MAIRDUMONT
Marco-Polo-Str. 1
73760 Ostfildern (Kemnat)

Telefon: + 49 711 45 02-1056
Telefax: + 49 711 45 02-320

d.buechel@anonymised.com
www.mairdumont.com

*Brent Owens <brentowens@anonymised.com>*

22.08.2006 17:33

An
  Dirk Buechel <d.buechel@anonymised.com>
Kopie
  
Thema
  Re: Antwort: Re: Antwort: Re: [Geoserver-users] wfsGetFeature-Problem

The wfs-t demo should work 'out of the box', and if it isn't, something
weird is going on.
Is that what you are using to test the WFS request? Or are you using
some other client tool?

Have you tried any of the other datasets (ones that come with geoserver
that aren't in Oracle)?

If other datasets are working, it will be a problem with Oracle and how
your table is set up. If you have a geometry column and whatnot. We will
have to look into that issue in more depth.

Brent Owens
(The Open Planning Project)

Dirk Buechel wrote:
>
> Hi Brent,
>
> another question is: why does the wfs-t_demo with the config.xml and
> the "wfsGetFeature" entry is going well? What's wrong in my config.xml
> definition?
>
> cheers,
>
> Dirk
>
> Dirk Büchel
> MAIRDUMONT
> Marco-Polo-Str. 1
> 73760 Ostfildern (Kemnat)
>
> Telefon: + 49 711 45 02-1056
> Telefax: + 49 711 45 02-320
>
> d.buechel@anonymised.com
> www.mairdumont.com
>
> *Brent Owens <brentowens@anonymised.com>*
>
> 21.08.2006 19:28
>
> > An
> Dirk Buechel <d.buechel@anonymised.com>
> Kopie
> > Thema
> Re: Antwort: Re: [Geoserver-users] wfsGetFeature-Problem
>
> >
>
> Hi Dirk
>
> Are you trying to do a GetFeatureInfo request, a GetFeature request, or
> a WMS GetMap request?
> The request you sent me is a GetMap request, part of WMS not WFS. So are
> you expecting to get back an image, or GML?
>
> cheers,
>
> Brent Owens
> (The Open Planning Project)
>
> Dirk Buechel wrote:
> >
> > Hello Brent,
> >
> > first of all, thank you very much for supporting me.
> > Sorry, but at the moment I'm a real newbie to geoserver.
> >
> > I' m sending you my config.xml attached. Perhaps you can figure out
> > something wrong...(WFS-definitions?)
> > The target of the "wfsGetFeature" is the mainMap -> so the request is:
> >
> http://localhost/geoserver/wms?VERSION=1.1.1&REQUEST=GetMap&SERVICE=WMS&SRS=EPSG:4326&BBOX=11.100000000000001,48.48273333333333,11.32,48.666066666666666&WIDTH=600&HEIGHT=500&LAYERS=NT18:PUBLICTRAFFIC&FORMAT=image/png&STYLES=&TRANSPARENT=TRUE&UNIQUEID=

>
> >
> > Please let me know if I should send you further informations.
> >
> > Dirk
> >
> > *Brent Owens <brentowens@anonymised.com>*
> >
> > 21.08.2006 17:15
> >
> > > > An
> > Dirk Buechel <d.buechel@anonymised.com>
> > Kopie
> > geoserver-users@lists.sourceforge.net
> > Thema
> > Re: [Geoserver-users] wfsGetFeature-Problem
> >
> > > >
> >
> > Hi Dirk,
> >
> > Could you show us the request you are using? We can help find the
> > problem then.
> >
> > From that error it looks like you aren't passing in any constraints,
> > and that is causing it to barf.
> >
> > Brent Owens
> > (The Open Planning Project)
> >
> > Dirk Buechel wrote:
> > >
> > > Hello!
> > >
> > > I've just got a problem concerning "wfsGetFeature"-Request in
> > > Geoserver 1.3.3.
> > >
> > > When I'm trying to request the Feature Infos from an
> > > Oracle-FeatureType (PUBLICTRAFFIC) I'm getting the following error
> > > message:
> > >
> > > javax.xml.transform.TransformerException: Translator error
> > >
> > > I've got a primary Key-Constraint and a spatial Index defined for the
> > > oracle table PUBLICTRAFFIC (feature class).
> > >
> > > The LOG-File tells me:
> > > 21.08.2006 12:32:28 org.geotools.data.jdbc.JDBC1DataStore executeQuery
> > > SCHWERWIEGEND: Error Performing SQL query: SELECT "PK_PTRAFFIC",
> > > "PUBTRAF_ID", "COUNTRY_ID", "CAT_ID", "NETWORK_ID", "DIR_ID",
> > > "FLOOR_ID", "CONST_ID", "FOREIGN_ID", "FOREIGNKEY", "MODDATE_A",
> > > "MODOPER_A", "MODDATE_G", "MODOPER_G", "CREATEDATE", "CREATEOPER",
> > > "GEOM" FROM "PUBLICTRAFFIC" WHERE
> > > java.sql.SQLException: ORA-00921: unexpected end of SQL command
> > >
> > > at
> > >
> >
> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)

>
> >
> > >
> > > at
> > > oracle.jdbc.driver.T2CConnection.checkError(T2CConnection.java:681)
> > > at
> > > oracle.jdbc.driver.T2CConnection.checkError(T2CConnection.java:614)
> > > at
> > >
> >
> oracle.jdbc.driver.T2CStatement.execute_for_describe(T2CStatement.java:841)

>
> >
> > >
> > > at
> > >
> >
> oracle.jdbc.driver.OracleStatement.execute_maybe_describe(OracleStatement.java:942)

>
> >
> > >
> > > at
> > >
> >
> oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1037)

>
> >
> > >
> > > at
> > >
> >
> oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:1183)

>
> >
> > >
> > > at
> > >
> >
> org.geotools.data.jdbc.JDBC1DataStore.executeQuery(JDBC1DataStore.java:897)

>
> >
> > >
> > > at
> > >
> >
> org.geotools.data.jdbc.JDBC1DataStore.getFeatureReader(JDBC1DataStore.java:656)

>
> >
> > >
> > > at
> > >
> >
> org.geotools.data.jdbc.JDBCFeatureCollection.reader(JDBCFeatureCollection.java:78)

>
> >
> > >
> > > at
> > >
> >
> org.geotools.data.DefaultFeatureResults.getBounds(DefaultFeatureResults.java:193)

>
> >
> > >
> > > at
> > >
> >
> org.geotools.gml.producer.FeatureTransformer$FeatureTranslator.encode(FeatureTransformer.java:389)

>
> >
> > >
> > > 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:141)

>
> >
> > >
> > > at
> > >
> >
> org.vfny.geoserver.servlets.AbstractService.doService(AbstractService.java:527)

>
> >
> > >
> > > at
> > >
> >
> org.vfny.geoserver.servlets.AbstractService.doGet(AbstractService.java:279)

>
> >
> > >
> > > 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)
> > >
> > > I ask myself where is the WHERE-clause?
> > > Did I configure something wrong or missed a definition in the
> > config.xml?
> > > Did I forgot something in defining the FeatureType?
> > >
> > > A request like
> > >
> >
> http://localhost/geoserver/wfs?request=GetFeature&version=1.0.0&propertyname=*&featureversion=1&typename=NT18:PUBLICTRAFFIC&featureid=PUBLICTRAFFIC.1515

>
> >
> > >
> > > works great!
> > >
> > > Thanks in advance for any help!
> > >
> > > Best regards,
> > >
> > > Dirk
> > >
> ------------------------------------------------------------------------
> > >
> >
> -------------------------------------------------------------------------
> > > Using Tomcat but need to do more? Need to support web services,
> > security?
> > > Get stuff done quickly with pre-integrated technology to make your
> > job easier
> > > Download IBM WebSphere Application Server v.1.0.1 based on Apache
> > Geronimo
> > >
> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
> > >
> ------------------------------------------------------------------------
> > >
> > > _______________________________________________
> > > Geoserver-users mailing list
> > > Geoserver-users@lists.sourceforge.net
> > > https://lists.sourceforge.net/lists/listinfo/geoserver-users
> > > > >
>

Brent Owens ha scritto:

I'm tagging Chris into this conversation since he knows the most about Oracle, and this appears to be a problem with your Oracle.

Chris: Basically when he uses a WFS request against his shapefile feature types, it works, but when he does the same request against his Oracle feature type he gets the error.

Well here the problem is that the sql encoder does something wrong:

SELECT "PK_PTRAFFIC",
>>>>> "PUBTRAF_ID", "COUNTRY_ID", "CAT_ID", "NETWORK_ID", "DIR_ID",
>>>>> "FLOOR_ID", "CONST_ID", "FOREIGN_ID", "FOREIGNKEY", "MODDATE_A",
>>>>> "MODOPER_A", "MODDATE_G", "MODOPER_G", "CREATEDATE", "CREATEOPER",
>>>>> "GEOM" FROM "PUBLICTRAFFIC" WHERE

misses the where clause.
Reading the mail, it also seems the "where" part of the filter should
have been a bbox filter. Now, on gt2 trunk I do see this in SQLEncoderOracle:
(btw, what version of Geoserver are you using?)

try {
      short filterType = geomFilter.getFilterType();
      if ((filterType == AbstractFilter.GEOMETRY_DWITHIN)
      || (filterType == AbstractFilter.GEOMETRY_BEYOND)){
                 doSdoDistance((GeometryDistanceFilter)geomFilter);
    //} else if (filterType == AbstractFilter.GEOMETRY_INTERSECTS
    //|| filterType == AbstractFilter.GEOMETRY_BBOX) {
                 //doNotDisjointFilter(geomFilter);
             } else
             if (SDO_RELATE_MASK_MAP.get(new Short(geomFilter.getFilterType())) != null) {
                 doSdoRelate(geomFilter);
             } else {
                 LOGGER.warning("Unknown filter type: "
                     + geomFilter.getFilterType());
             }
         } catch (IOException e) {
             LOGGER.warning("IO Error exporting geometry filter");
         }

you see? the bbox encoding has been commented out for who knows what reason.
That's why it does break!

Opening a bug against this problem on JIRA. Sorry for the inconvenience...
in the current state the Oracle data store is definitely unusable since the most
basic and widely used filter is broken...

Chris, once the bug is fixed is it possible to re-issue just the Oracle data store?
Cheers
Andrea

Andrea Aime ha scritto:

Brent Owens ha scritto:

I'm tagging Chris into this conversation since he knows the most about Oracle, and this appears to be a problem with your Oracle.

Chris: Basically when he uses a WFS request against his shapefile feature types, it works, but when he does the same request against his Oracle feature type he gets the error.

Well here the problem is that the sql encoder does something wrong:

SELECT "PK_PTRAFFIC",
>>>>> "PUBTRAF_ID", "COUNTRY_ID", "CAT_ID", "NETWORK_ID", "DIR_ID",
>>>>> "FLOOR_ID", "CONST_ID", "FOREIGN_ID", "FOREIGNKEY", "MODDATE_A",
>>>>> "MODOPER_A", "MODDATE_G", "MODOPER_G", "CREATEDATE", "CREATEOPER",
>>>>> "GEOM" FROM "PUBLICTRAFFIC" WHERE

misses the where clause.

Oh hum, maybe I've been a little too quick in judging the nature of the error,
but anyways this happens because the sql encoder sees a filter it does support,
and then decides not to encode it for some reason.

Cheers
Andrea

Sorry for the late response, still wading through the backlog, though I hope to get done today. The problem is more complex than the fact that bbox was commented out, unfortunately. The next line:

SDO_RELATE_MASK_MAP.get(new Short(geomFilter.getFilterType())

Should get the bbox filter - basically it transforms whatever geometry filter in to the appropriate type. Though it looks like the most likely problem is that somewhere the filter isn't getting set right.

And yes, once a bug is fixed in a datastore it is possible to re-issue just that one datastore.

Chris

Andrea Aime wrote:

Brent Owens ha scritto:

I'm tagging Chris into this conversation since he knows the most about Oracle, and this appears to be a problem with your Oracle.

Chris: Basically when he uses a WFS request against his shapefile feature types, it works, but when he does the same request against his Oracle feature type he gets the error.

Well here the problem is that the sql encoder does something wrong:

SELECT "PK_PTRAFFIC",
>>>>> "PUBTRAF_ID", "COUNTRY_ID", "CAT_ID", "NETWORK_ID", "DIR_ID",
>>>>> "FLOOR_ID", "CONST_ID", "FOREIGN_ID", "FOREIGNKEY", "MODDATE_A",
>>>>> "MODOPER_A", "MODDATE_G", "MODOPER_G", "CREATEDATE", "CREATEOPER",
>>>>> "GEOM" FROM "PUBLICTRAFFIC" WHERE

misses the where clause.
Reading the mail, it also seems the "where" part of the filter should
have been a bbox filter. Now, on gt2 trunk I do see this in SQLEncoderOracle:
(btw, what version of Geoserver are you using?)

try {
      short filterType = geomFilter.getFilterType();
      if ((filterType == AbstractFilter.GEOMETRY_DWITHIN)
      || (filterType == AbstractFilter.GEOMETRY_BEYOND)){
                 doSdoDistance((GeometryDistanceFilter)geomFilter);
    //} else if (filterType == AbstractFilter.GEOMETRY_INTERSECTS
    //|| filterType == AbstractFilter.GEOMETRY_BBOX) {
                 //doNotDisjointFilter(geomFilter);
             } else
             if (SDO_RELATE_MASK_MAP.get(new Short(geomFilter.getFilterType())) != null) {
                 doSdoRelate(geomFilter);
             } else {
                 LOGGER.warning("Unknown filter type: "
                     + geomFilter.getFilterType());
             }
         } catch (IOException e) {
             LOGGER.warning("IO Error exporting geometry filter");
         }

you see? the bbox encoding has been commented out for who knows what reason.
That's why it does break!

Opening a bug against this problem on JIRA. Sorry for the inconvenience...
in the current state the Oracle data store is definitely unusable since the most
basic and widely used filter is broken...

Chris, once the bug is fixed is it possible to re-issue just the Oracle data store?
Cheers
Andrea

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Geoserver-users mailing list
Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

!DSPAM:1003,44f0056d195101116498154!

--
Chris Holmes
The Open Planning Project
http://topp.openplans.org