Hi, If fid is like this <wfs:Insert> <feature:UnidadesGestion xmlns:feature="http://192.168.3.15/ikt" fid="RecintosSigpac.fid--21720f22_131f62e83e7_5838">
then everything does not go like you hope And log file telling that Geoserver is trying to feed max_value+1 as a new fid makes me think that Geoserver does not find the sequence to use. I am remembering that is should be named as TABLE_SEQUENCE do that Geoserver finds it automatically, but it can be controlled by creating a special GEOSERVER_METADATA table into Oracle. Use of metadata table is documented. Check first from the GetFeature results that the primary key is really used as fid. -Jukka Rahkonen- ____________________________________ ____ Lähettäjä: David Alda Fernandez de Lezea [[email protected]] Lähetetty: 25. elokuuta 2011 10:50 Vastaanottaja: Rahkonen Jukka; [email protected] Aihe: RE: Error performing insert over wfs-t Jukka, > Do you have an integer field as a primary key in the table? Yes I do. I also have a sequence in order to take new values. > 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. There's no need to accomplish this at the moment because the application I'm developing does not allow concurrent editing users. I also get an error while performing an update, even though if I only modify some alphanumeric data, not the geometry data. I have the feeling that it has got something to do with my table definition. I'm gonna keep searching. Thanks, 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 ·················································································· -----Mensaje original----- De: Rahkonen Jukka [mailto:[email protected]] Enviado el: miércoles, 24 de agosto de 2011 16:13 Para: David Alda Fernandez de Lezea; [email protected] Asunto: Re: Error performing insert over wfs-t 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,ELEG >IBILID,COEF_REGAD,COEF_PASTO,PARCELA_AG,DN_OID,FECHA,USO_SIGPAC,USO_200 >3,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
