Hi,
I am not sure what is going wrong but otherwise I have a feeling that your fid
is not optimal. Do you have an integer field as a primary key in the table?
The righ way to handle fids is a bit complicated and you will need at least a
sequence to take new values from. In production environment you will need to
use also a trigger and possibly some other things to guarantee that concurrent
users doing updates are getting unique fid for their inserts.
-Jukka Rahkonen-
David Alda Fernandez de Lezea wrote:
> Hi list,
> I'm having some problems performing a wfs-t insert. So far, I've working with
> some other oracle tables and everything has worked fine, but now I'm facing a
> different situation. Everything seems to be OK but I've found something
> strange in the logs. While trying to construct the GeoServer request to
> Oracle, the GeoServer instance apparently misses the geometry field
> 2011-08-24 13:56:54,714 DEBUG [org.geotools.jdbc] - Setting GEOMETRY to
> 2011-08-24 13:56:54,714 DEBUG [org.geotools.jdbc] - Setting 14 to
While in other requests from another application I developed a while ago,
>2011-08-24 13:36:03,730 DEBUG [org.geotools.jdbc] - Setting PENDIENTE to 89
>2011-08-24 13:36:03,730 DEBUG [org.geotools.jdbc] - Setting 16 to 89
>2011-08-24 13:36:03,730 DEBUG [org.geotools.jdbc] - Setting GEOMETRY to
>POLYGON ((...))
>2011-08-24 13:36:03,730 DEBUG [org.geotools.jdbc] - Getting next FID: SELECT
>MAX(GID) + 1 FROM USRCARTO.TB_PRUEBA_WFST
>2011-08-24 13:36:03,730 DEBUG [org.geotools.jdbc] - Inserting new feature with
>ps: INSERT INTO USRCARTO.TB_PRUEBA_WFST (
>PROVINCIA,MUNICIPIO,POLIGONO,PARCELA,RECINTO,DN_SURFACE,DN_PERIMET,ELEGIBILID,COEF_REGAD,COEF_PASTO,PARCELA_AG,DN_OID,FECHA,USO_SIGPAC,USO_2003,PENDIENTE,GEOMETRY,GID
> ) VALUES ( ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
>2011-08-24 13:36:03,730 DEBUG [org.geotools.jdbc] - 1 = 1
GeoServer Log:
2011-08-24 13:56:54,714 DEBUG [org.geotools.jdbc] - Setting CODEX to
010130050002
2011-08-24 13:56:54,714 DEBUG [org.geotools.jdbc] - Setting 0 to 010130050002
2011-08-24 13:56:54,714 DEBUG [org.geotools.jdbc] - Setting UG to 17
2011-08-24 13:56:54,714 DEBUG [org.geotools.jdbc] - Setting 1 to 17
2011-08-24 13:56:54,714 DEBUG [org.geotools.jdbc] - Setting VERSION to 1
2011-08-24 13:56:54,714 DEBUG [org.geotools.jdbc] - Setting 2 to 1
2011-08-24 13:56:54,714 DEBUG [org.geotools.jdbc] - Setting TOPONIMO to UG_17
2011-08-24 13:56:54,714 DEBUG [org.geotools.jdbc] - Setting 3 to UG_17
2011-08-24 13:56:54,714 DEBUG [org.geotools.jdbc] - Setting PROVINCIA to 1
2011-08-24 13:56:54,714 DEBUG [org.geotools.jdbc] - Setting 4 to 1
2011-08-24 13:56:54,714 DEBUG [org.geotools.jdbc] - Setting MUNICIPIO to 13
2011-08-24 13:56:54,714 DEBUG [org.geotools.jdbc] - Setting 5 to 13
2011-08-24 13:56:54,714 DEBUG [org.geotools.jdbc] - Setting AGREGADO to 0
2011-08-24 13:56:54,714 DEBUG [org.geotools.jdbc] - Setting 6 to 0
2011-08-24 13:56:54,714 DEBUG [org.geotools.jdbc] - Setting ZONA to 0
2011-08-24 13:56:54,714 DEBUG [org.geotools.jdbc] - Setting 7 to 0
2011-08-24 13:56:54,714 DEBUG [org.geotools.jdbc] - Setting POLIGONO to 3
2011-08-24 13:56:54,714 DEBUG [org.geotools.jdbc] - Setting 8 to 3
2011-08-24 13:56:54,714 DEBUG [org.geotools.jdbc] - Setting PARCELA to 506
2011-08-24 13:56:54,714 DEBUG [org.geotools.jdbc] - Setting 9 to 506
2011-08-24 13:56:54,714 DEBUG [org.geotools.jdbc] - Setting RECINTO to 1
2011-08-24 13:56:54,714 DEBUG [org.geotools.jdbc] - Setting 10 to 1
2011-08-24 13:56:54,714 DEBUG [org.geotools.jdbc] - Setting PARCELA_AG to null
2011-08-24 13:56:54,714 DEBUG [org.geotools.jdbc] - Setting 11 to null
2011-08-24 13:56:54,714 DEBUG [org.geotools.jdbc] - Setting CONUSUCOD to null
2011-08-24 13:56:54,714 DEBUG [org.geotools.jdbc] - Setting 12 to null
2011-08-24 13:56:54,714 DEBUG [org.geotools.jdbc] - Setting CONMODFEC to null
2011-08-24 13:56:54,714 DEBUG [org.geotools.jdbc] - Setting 13 to null
2011-08-24 13:56:54,714 DEBUG [org.geotools.jdbc] - Setting GEOMETRY to
2011-08-24 13:56:54,714 DEBUG [org.geotools.jdbc] - Setting 14 to
2011-08-24 13:56:54,714 DEBUG [org.geotools.jdbc] - Setting GRUPO to null
2011-08-24 13:56:54,714 DEBUG [org.geotools.jdbc] - Setting 15 to null
2011-08-24 13:56:54,714 DEBUG [org.geotools.jdbc] - Getting next FID: SELECT
MAX(GID) + 1 FROM USRCARTO.GT_ARLOGIS_UG_ED50
2011-08-24 13:56:54,714 ERROR [org.geoserver.wfs] - Transaction failed
org.geoserver.wfs.WFSTransactionException: Error performing insert
at
org.geoserver.wfs.InsertElementHandler.execute(InsertElementHandler.java:204)
at org.geoserver.wfs.Transaction.execute(Transaction.java:334)
at org.geoserver.wfs.Transaction.transaction(Transaction.java:109)
at
org.geoserver.wfs.DefaultWebFeatureService.transaction(DefaultWebFeatureService.java:163)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
at org.geoserver.ows.util.EMFLogger.invoke(EMFLogger.java:51)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy19.transaction(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.geoserver.ows.Dispatcher.execute(Dispatcher.java:599)
at
org.geoserver.ows.Dispatcher.handleRequestInternal(Dispatcher.java:230)
at
org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
at
org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
at
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)
at
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:809)
at
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
at
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:511)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at
org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:265)
at
org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107)
at
org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72)
at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
at
org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:124)
at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
at
org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
at
org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:174)
at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
at
org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
at
org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:149)
at
org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.geoserver.filters.LoggingFilter.doFilter(LoggingFilter.java:73)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at
org.geoserver.filters.ReverseProxyFilter.doFilter(ReverseProxyFilter.java:183)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.geoserver.filters.GZIPFilter.doFilter(GZIPFilter.java:47)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:879)
at
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to
com.vividsolutions.jts.geom.Geometry
at org.geotools.jdbc.JDBCDataStore.insertSQLPS(JDBCDataStore.java:3350)
at org.geotools.jdbc.JDBCDataStore.insert(JDBCDataStore.java:1240)
at org.geotools.jdbc.JDBCDataStore.insert(JDBCDataStore.java:1207)
at
org.geotools.jdbc.JDBCInsertFeatureWriter.write(JDBCInsertFeatureWriter.java:73)
at
org.geotools.data.InProcessLockingManager$1.write(InProcessLockingManager.java:335)
at
org.geotools.data.store.ContentFeatureStore.addFeatures(ContentFeatureStore.java:255)
at
org.geoserver.feature.retype.RetypingFeatureStore.addFeatures(RetypingFeatureStore.java:87)
at
org.vfny.geoserver.global.GeoServerFeatureStore.addFeatures(GeoServerFeatureStore.java:81)
at
org.geoserver.wfs.InsertElementHandler.execute(InsertElementHandler.java:173)
Fail Transaction request:
<wfs:Transaction xmlns:wfs="http://www.opengis.net/wfs" service="WFS"
version="1.1.0" xsi:schemaLocation="http://www.opengis.net/wfs
http://schemas.opengis.net/wfs/1.1.0/wfs.xsd http://192.168.3.15/ikt
http://192.168.3.15/geoserver/wfs?request=DescribeFeatureType&version=1.1.0&typename=IKT:UnidadesGestion"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<wfs:Insert>
<feature:UnidadesGestion xmlns:feature="http://192.168.3.15/ikt"
fid="RecintosSigpac.fid--21720f22_131f62e83e7_5838">
<feature:GEOMETRY>
<gml:Polygon xmlns:gml="http://www.opengis.net/gml" srsName="EPSG:23030">
<gml:exterior>
<gml:LinearRing>
<gml:posList>...</gml:posList>
</gml:LinearRing>
</gml:exterior>
</gml:Polygon>
</feature:GEOMETRY>
<feature:CODEX>010130050002</feature:CODEX>
<feature:UG>17</feature:UG>
<feature:TOPONIMO>UG_17</feature:TOPONIMO>
<feature:VERSION>1</feature:VERSION>
<feature:PROVINCIA>1</feature:PROVINCIA>
<feature:MUNICIPIO>13</feature:MUNICIPIO>
<feature:POLIGONO>3</feature:POLIGONO>
<feature:PARCELA>504</feature:PARCELA>
<feature:RECINTO>1</feature:RECINTO>
<feature:AGREGADO>0</feature:AGREGADO>
<feature:ZONA>0</feature:ZONA>
</feature:UnidadesGestion>
</wfs:Insert>
</wfs:Transaction>
Success Transaction request
<wfs:Transaction xmlns:wfs="http://www.opengis.net/wfs"
service="WFS" version="1.1.0"
xsi:schemaLocation="http://www.opengis.net/wfs
http://schemas.opengis.net/wfs/1.1.0/wfs.xsd
http://192.168.3.15/ikt
http://192.168.3.15/geoserver/wfs?request=DescribeFeatureType&version=1.1.0&typename=IKT:prueba_wfst"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<wfs:Insert>
<feature:prueba_wfst xmlns:feature="http://192.168.3.15/ikt"
fid="RecintosSigpac.fid--21720f22_131f62e83e7_5a75">
<feature:GEOMETRY>
<gml:Polygon xmlns:gml="http://www.opengis.net/gml" srsName="EPSG:23030">
<gml:exterior>
<gml:LinearRing>
<gml:posList>...</gml:posList>
</gml:LinearRing>
</gml:exterior>
</gml:Polygon>
</feature:GEOMETRY>
<feature:GID>3630175</feature:GID>
<feature:PROVINCIA>1</feature:PROVINCIA>
<feature:MUNICIPIO>59</feature:MUNICIPIO>
<feature:POLIGONO>215</feature:POLIGONO>
<feature:PARCELA>153</feature:PARCELA>
<feature:RECINTO>1</feature:RECINTO>
<feature:ELEGIBILID>0</feature:ELEGIBILID>
<feature:COEF_REGAD>0</feature:COEF_REGAD>
<feature:COEF_PASTO>100</feature:COEF_PASTO>
<feature:USO_SIGPAC>TA</feature:USO_SIGPAC>
<feature:USO_2003>TA</feature:USO_2003>
<feature:DN_OID>966</feature:DN_OID>
<feature:DN_SURFACE>78547.42855</feature:DN_SURFACE>
<feature:DN_PERIMET>2516.2231</feature:DN_PERIMET>
<feature:PENDIENTE>89</feature:PENDIENTE>
<feature:FECHA_INI>2011-06-06</feature:FECHA_INI>
</feature:prueba_wfst>
</wfs:Insert>
</wfs:Transaction>
Do you see any difference between the two transactions??
I think I'm missing something in the table configuration but I'm not sure. Any
ideas??
GeoServer instance 2.0.2
DB: Oracle Spatial
OS: Window Server 2003
Thanks in advance.
Regards,
Un saludo,
··················································································
David Alda Fernández de Lezea
Lurralde eta Biodibertsitate Saila / Dpto. de Territorio y Biodiversidad
IKT
Granja Modelo s/n · 01192 · Arkaute (Araba)
··················································································
Tlfnos.: 945-00-32-95 Fax: 945-00.32.90
··················································································
email: [email protected] web: www.ikt.es
··················································································
------------------------------------------------------------------------------
EMC VNX: the world's simplest storage, starting under $10K
The only unified storage solution that offers unified management
Up to 160% more powerful than alternatives and 25% more efficient.
Guaranteed. http://p.sf.net/sfu/emc-vnx-dev2dev
_______________________________________________
Geoserver-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geoserver-users
------------------------------------------------------------------------------
EMC VNX: the world's simplest storage, starting under $10K
The only unified storage solution that offers unified management
Up to 160% more powerful than alternatives and 25% more efficient.
Guaranteed. http://p.sf.net/sfu/emc-vnx-dev2dev
_______________________________________________
Geoserver-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geoserver-users