[OpenLayers-Users] SaveStrategy does not work - WFSProtocol with Vector Layer

moataz Elmasry zaza1851983ml at googlemail.com
Fri Mar 19 12:18:48 EDT 2010


Hmm. From the stack trace it seems that the request arrives to geoserver 
and a transaction performed againest the db. In the snippet:

Request: transaction
	handle = null
	service = WFS
	version = 1.1.0
	baseUrl = http://localhost:1234/geoserver/
	providedVersion = 1.1.0
	lockId = null
	group = [wfs:insert=net.opengis.wfs.impl.InsertElementTypeImpl at 2f71d9
(feature: [org.geotools.feature.simple.SimpleFeatureImpl at df6f63a9], handle:
null, idgen: <unset>, inputFormat: <unset>, srsName: null)]
	insert = [net.opengis.wfs.impl.InsertElementTypeImpl at 2f71d9 (feature:
[org.geotools.feature.simple.SimpleFeatureImpl at df6f63a9], handle: null,
idgen: <unset>, inputFormat: <unset>, srsName: null)]
	update = []
	delete = []
	native = []
	releaseAction = ALL
19 mar 15:36:30 ERROR [geoserver.ows] - 
org.geoserver.wfs.WFSException: Error performing insert

Kinda looks odd (too few data, too many nulls). I would suggest turning 
on debugging in geoserver and see how the request arrives from 
openlayers to geoserver. There might be your problem.

Ahh, also starting from "org.geoserver.wfs.WFSException: Error 
performing insert" you see that alot of errors are concerning 
security/filter/proxy. And so I still think its a security issue


paweluz wrote:
> Hi!
>
> Thanks a lot for your interest. I have changed the configuration just to
> check if it was depending on the proxy issue. Now I have Tomcat running my
> application and geoserver running from the exe file (on windows 2000). I am
> using OpenLayers proxy file. Now I got in firebug an error... The Source is
> this same but the response:
>
> Response
> <ows:ExceptionReport version="1.0.0"
>   xsi:schemaLocation="http://www.opengis.net/ows
> http://localhost:1234/geoserver/schemas/ows/1.0.0/owsExceptionReport.xsd"
>   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:ows="http://www.opengis.net/ows">
>   <ows:Exception exceptionCode="InvalidParameterValue">
>     <ows:ExceptionText>Error performing insert</ows:ExceptionText>
>   </ows:Exception>
> </ows:ExceptionReport>
>
> I have checked the logs file. There is nothing wrong in the Postgresql log
> file, but there is something in the geoserver file... I put the most part of
> the log file.
>
> Log file from the geoserver
> 19 mar 15:36:30 INFO [geoserver.wfs] - 
> Request: getServiceInfo
> 19 mar 15:36:30 ERROR [geoserver.wfs] - Transaction failed
> org.geoserver.wfs.WFSTransactionException: Error performing insert
> 	at
> org.geoserver.wfs.InsertElementHandler.execute(InsertElementHandler.java:200)
> 	at org.geoserver.wfs.Transaction.execute(Transaction.java:333)
> 	at org.geoserver.wfs.Transaction.transaction(Transaction.java:108)
> 	at
> org.geoserver.wfs.DefaultWebFeatureService.transaction(DefaultWebFeatureService.java:182)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	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 $Proxy16.transaction(Unknown Source)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at
> org.geoserver.security.OperationSecurityInterceptor.invoke(OperationSecurityInterceptor.java:41)
> 	at org.geoserver.ows.Dispatcher.execute(Dispatcher.java:583)
> 	at org.geoserver.ows.Dispatcher.handleRequestInternal(Dispatcher.java:212)
> 	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:727)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
> 	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
> 	at
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093)
> 	at
> org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108)
> 	at
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
> 	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.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
> 	at org.geoserver.filters.LoggingFilter.doFilter(LoggingFilter.java:73)
> 	at
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
> 	at
> org.geoserver.filters.ReverseProxyFilter.doFilter(ReverseProxyFilter.java:163)
> 	at
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
> 	at org.geoserver.filters.GZIPFilter.doFilter(GZIPFilter.java:47)
> 	at
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
> 	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
> 	at
> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
> 	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
> 	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726)
> 	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
> 	at
> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)
> 	at
> org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
> 	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
> 	at org.mortbay.jetty.Server.handle(Server.java:324)
> 	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
> 	at
> org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:842)
> 	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:648)
> 	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
> 	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
> 	at
> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
> 	at
> org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450)
> Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to
> com.vividsolutions.jts.geom.Geometry
> 	at
> org.geotools.data.jdbc.JDBCTextFeatureWriter.makeInsertSql(JDBCTextFeatureWriter.java:225)
> 	at
> org.geotools.data.jdbc.JDBCTextFeatureWriter.doInsert(JDBCTextFeatureWriter.java:116)
> 	at
> org.geotools.data.jdbc.JDBCFeatureWriter.write(JDBCFeatureWriter.java:215)
> 	at
> org.geotools.data.InProcessLockingManager$1.write(InProcessLockingManager.java:335)
> 	at
> org.geotools.data.jdbc.JDBCFeatureStore.addFeatures(JDBCFeatureStore.java:383)
> 	at
> org.vfny.geoserver.global.GeoServerFeatureStore.addFeatures(GeoServerFeatureStore.java:81)
> 	at
> org.geoserver.wfs.InsertElementHandler.execute(InsertElementHandler.java:169)
> 	... 70 more
> 19 mar 15:36:30 INFO [geoserver.wfs] - 
> Request: transaction
> 	handle = null
> 	service = WFS
> 	version = 1.1.0
> 	baseUrl = http://localhost:1234/geoserver/
> 	providedVersion = 1.1.0
> 	lockId = null
> 	group = [wfs:insert=net.opengis.wfs.impl.InsertElementTypeImpl at 2f71d9
> (feature: [org.geotools.feature.simple.SimpleFeatureImpl at df6f63a9], handle:
> null, idgen: <unset>, inputFormat: <unset>, srsName: null)]
> 	insert = [net.opengis.wfs.impl.InsertElementTypeImpl at 2f71d9 (feature:
> [org.geotools.feature.simple.SimpleFeatureImpl at df6f63a9], handle: null,
> idgen: <unset>, inputFormat: <unset>, srsName: null)]
> 	update = []
> 	delete = []
> 	native = []
> 	releaseAction = ALL
> 19 mar 15:36:30 ERROR [geoserver.ows] - 
> org.geoserver.wfs.WFSException: Error performing insert
> 	at
> org.geoserver.wfs.response.v1_1_0.TransactionResponse.write(TransactionResponse.java:49)
> 	at org.geoserver.ows.Dispatcher.response(Dispatcher.java:712)
> 	at org.geoserver.ows.Dispatcher.handleRequestInternal(Dispatcher.java:216)
> 	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:727)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
> 	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
> 	at
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093)
> 	at
> org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108)
> 	at
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
> 	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.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
> 	at org.geoserver.filters.LoggingFilter.doFilter(LoggingFilter.java:73)
> 	at
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
> 	at
> org.geoserver.filters.ReverseProxyFilter.doFilter(ReverseProxyFilter.java:163)
> 	at
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
> 	at org.geoserver.filters.GZIPFilter.doFilter(GZIPFilter.java:47)
> 	at
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
> 	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
> 	at
> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
> 	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
> 	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726)
> 	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
> 	at
> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)
> 	at
> org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
> 	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
> 	at org.mortbay.jetty.Server.handle(Server.java:324)
> 	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
> 	at
> org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:842)
> 	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:648)
> 	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
> 	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
> 	at
> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
> 	at
> org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450)
>
> What do you think about this ? I have no idea what to do... Before I was
> using WFS layer but now it is deprecated so I used Vector layer with save
> strategy. I have no idea what is wrong. Tomorrow I am going to check
> everything on different PC and system... Maybe this is the issue...
>
> Any ideas??
> Poul
>
>   




More information about the Users mailing list