[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