Hello all,

I was able to solve this... it was a problem on Openlayers side and not on
Geoserver. I was sending polygon and linestring instead of multipolygon and
multilinestring on the request sent by the openlayers client.

Cheers,
Hugo

On Wed, Aug 10, 2011 at 11:58 AM, Hugo <hfpmart...@gmail.com> wrote:

> Hello all,
>
> I'm facing some problems with WFS-T insert. I'm developing an openlayers
> app and have 3 layers (point, multiline, multipolygon) using the WFS
> protocol 1.1.0.
> I have no problems with the point layer (i can make insert, delete and
> update of both geometry and alphanumerical data. However, when using the
> line or polygon layer i always get an error on insertion only (i'm still
> able to make updates). The problem is related to the geometry and is as
> following:
>
> <ows:ExceptionText>Error performing insert: java.lang.String cannot be cast
> to com.vividsolutions.jts.geom.Geometry</ows:ExceptionText>
>
> The request being sent by openlayers is:
>
> <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"; xmlns:xsi="
> http://www.w3.org/2001/XMLSchema-instance";>
> <wfs:Insert>
> <feature:processo_line xmlns:feature="http://localhost/arhalgarve";>
> <feature:the_geom>
> <gml:LineString xmlns:gml="http://www.opengis.net/gml"; srsName="EPSG:3763"
> >
> <gml:posList>4180.580120230742 -270319.3818007398 6134.489192761598
> -275901.9603097216 10756.932094040796 -266916.510077197</gml:posList>
> </gml:LineString>
> </feature:the_geom>
> <feature:processo>2</feature:processo>
> <feature:data_entrada>2011-08-10T00:00:00+01:00</feature:data_entrada>
> <feature:requerente>sdvbh</feature:requerente>
> <feature:morada>fsdh</feature:morada>
> <feature:cp>asfg</feature:cp>
> <feature:telefone>asfg</feature:telefone>
> <feature:assunto>asggs</feature:assunto>
> <feature:sal_user>hfpm</feature:sal_user>
> </feature:processo_line>
> </wfs:Insert>
> </wfs:Transaction>
>
>
> My geoserver log looks like the following:
>
> 2011-08-10 11:35:37,102 INFO [geoserver.wfs] -
> Request: transaction
> handle = null
> service = WFS
> version = 1.1.0
>  baseUrl = http://localhost:8080/geoserver/
> providedVersion = null
>  extendedProperties = {}
> lockId = null
> group = 
> [wfs:insert=net.opengis.wfs.impl.InsertElementTypeImpl@1da988ff(feature: 
> [SimpleFeatureImpl:processo_line=[SimpleFeatureImpl.Attribute:
> processo<processo id=fid--39d147d0_131b335bf24_-7ffa>=2,
> SimpleFeatureImpl.Attribute: data_entrada<data_entrada
> id=fid--39d147d0_131b335bf24_-7ffa>=2011-08-10 00:00:00.0,
> SimpleFeatureImpl.Attribute: requerente<requerente
> id=fid--39d147d0_131b335bf24_-7ffa>=sdvbh, SimpleFeatureImpl.Attribute:
> morada<morada id=fid--39d147d0_131b335bf24_-7ffa>=fsdh,
> SimpleFeatureImpl.Attribute: cp<cp id=fid--39d147d0_131b335bf24_-7ffa>=asfg,
> SimpleFeatureImpl.Attribute: telefone<telefone
> id=fid--39d147d0_131b335bf24_-7ffa>=asfg, SimpleFeatureImpl.Attribute:
> assunto<assunto id=fid--39d147d0_131b335bf24_-7ffa>=asggs,
> SimpleFeatureImpl.Attribute: sal_user<sal_user
> id=fid--39d147d0_131b335bf24_-7ffa>=hfpm, SimpleFeatureImpl.Attribute:
> the_geom<the_geom id=fid--39d147d0_131b335bf24_-7ffa>=]], handle: null,
> idgen: <unset>, inputFormat: <unset>, srsName: null)]
>  insert = [net.opengis.wfs.impl.InsertElementTypeImpl@1da988ff (feature:
> [SimpleFeatureImpl:processo_line=[SimpleFeatureImpl.Attribute:
> processo<processo id=fid--39d147d0_131b335bf24_-7ffa>=2,
> SimpleFeatureImpl.Attribute: data_entrada<data_entrada
> id=fid--39d147d0_131b335bf24_-7ffa>=2011-08-10 00:00:00.0,
> SimpleFeatureImpl.Attribute: requerente<requerente
> id=fid--39d147d0_131b335bf24_-7ffa>=sdvbh, SimpleFeatureImpl.Attribute:
> morada<morada id=fid--39d147d0_131b335bf24_-7ffa>=fsdh,
> SimpleFeatureImpl.Attribute: cp<cp id=fid--39d147d0_131b335bf24_-7ffa>=asfg,
> SimpleFeatureImpl.Attribute: telefone<telefone
> id=fid--39d147d0_131b335bf24_-7ffa>=asfg, SimpleFeatureImpl.Attribute:
> assunto<assunto id=fid--39d147d0_131b335bf24_-7ffa>=asggs,
> SimpleFeatureImpl.Attribute: sal_user<sal_user
> id=fid--39d147d0_131b335bf24_-7ffa>=hfpm, SimpleFeatureImpl.Attribute:
> the_geom<the_geom id=fid--39d147d0_131b335bf24_-7ffa>=]], handle: null,
> idgen: <unset>, inputFormat: <unset>, srsName: null)]
>  update = []
> delete = []
> native = []
>  releaseAction = ALL
> 2011-08-10 11:35:37,104 ERROR [geoserver.ows] -
> org.geoserver.wfs.WFSException: Error performing insert: java.lang.String
> cannot be cast to com.vividsolutions.jts.geom.Geometry
>  at
> org.geoserver.wfs.response.TransactionResponse.v_1_1(TransactionResponse.java:195)
> at
> org.geoserver.wfs.response.TransactionResponse.write(TransactionResponse.java:65)
>  at org.geoserver.ows.Dispatcher.response(Dispatcher.java:751)
> at org.geoserver.ows.Dispatcher.handleRequestInternal(Dispatcher.java:233)
>  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:637)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>  at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>  at
> org.geoserver.filters.ThreadLocalsCleanupFilter.doFilter(ThreadLocalsCleanupFilter.java:23)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>  at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at
> org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:68)
>  at
> org.springframework.security.ui.ExceptionTranslationFilter.doFilterHttp(ExceptionTranslationFilter.java:101)
> at
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
>  at
> org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:64)
> at
> org.springframework.security.ui.ExceptionTranslationFilter.doFilterHttp(ExceptionTranslationFilter.java:101)
>  at
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
> at
> org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:64)
>  at
> org.springframework.security.ui.basicauth.BasicProcessingFilter.doFilterHttp(BasicProcessingFilter.java:174)
> at
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
>  at
> org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:64)
> at
> org.springframework.security.providers.anonymous.AnonymousProcessingFilter.doFilterHttp(AnonymousProcessingFilter.java:105)
>  at
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
> at
> org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:64)
>  at
> org.springframework.security.ui.rememberme.RememberMeProcessingFilter.doFilterHttp(RememberMeProcessingFilter.java:116)
> at
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
>  at
> org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:64)
> at
> org.springframework.security.wrapper.SecurityContextHolderAwareRequestFilter.doFilterHttp(SecurityContextHolderAwareRequestFilter.java:91)
>  at
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
> at
> org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:64)
>  at
> org.springframework.security.ui.AbstractProcessingFilter.doFilterHttp(AbstractProcessingFilter.java:278)
> at
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
>  at
> org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:64)
> at
> org.springframework.security.ui.logout.LogoutFilter.doFilterHttp(LogoutFilter.java:89)
>  at
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
> at
> org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:64)
>  at
> org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:192)
> at
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
>  at
> org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:64)
> at
> org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:192)
>  at
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
> at
> org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:64)
>  at
> org.springframework.security.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:99)
> at
> org.springframework.security.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
>  at
> org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:64)
> at
> org.springframework.security.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:99)
>  at
> org.springframework.security.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
> at
> org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:64)
>  at
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:394)
> at
> org.springframework.security.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:99)
>  at
> org.springframework.security.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
> at
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:406)
>  at
> org.springframework.security.ui.ExceptionTranslationFilter.doFilterHttp(ExceptionTranslationFilter.java:101)
> at
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
>  at
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:406)
> at
> org.springframework.security.providers.anonymous.AnonymousProcessingFilter.doFilterHttp(AnonymousProcessingFilter.java:105)
>  at
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
> at
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:406)
>  at
> org.springframework.security.ui.basicauth.BasicProcessingFilter.doFilterHttp(BasicProcessingFilter.java:174)
> at
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
>  at
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:406)
> at
> org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:192)
>  at
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
> at
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:406)
>  at
> org.springframework.security.util.FilterChainProxy.doFilter(FilterChainProxy.java:185)
> at
> org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:64)
>  at
> org.geoserver.filters.SpringDelegatingFilter.doFilter(SpringDelegatingFilter.java:39)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>  at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at
> org.geoserver.platform.AdvancedDispatchFilter.doFilter(AdvancedDispatchFilter.java:49)
>  at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>  at
> org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:109)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>  at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:394)
>  at
> org.springframework.security.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
> at
> org.springframework.security.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
>  at
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:406)
> at
> org.springframework.security.ui.ExceptionTranslationFilter.doFilterHttp(ExceptionTranslationFilter.java:101)
>  at
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
> at
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:406)
>  at
> org.springframework.security.providers.anonymous.AnonymousProcessingFilter.doFilterHttp(AnonymousProcessingFilter.java:105)
> at
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
>  at
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:406)
> at
> org.springframework.security.ui.basicauth.BasicProcessingFilter.doFilterHttp(BasicProcessingFilter.java:174)
>  at
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
> at
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:406)
>  at
> org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:235)
> at
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
>  at
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:406)
> at
> org.springframework.security.util.FilterChainProxy.doFilter(FilterChainProxy.java:185)
>  at
> org.springframework.security.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:99)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>  at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at org.geoserver.filters.LoggingFilter.doFilter(LoggingFilter.java:71)
>  at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>  at
> org.geoserver.filters.ReverseProxyFilter.doFilter(ReverseProxyFilter.java:183)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>  at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at org.geoserver.filters.GZIPFilter.doFilter(GZIPFilter.java:47)
>  at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>  at
> org.geoserver.filters.SessionDebugFilter.doFilter(SessionDebugFilter.java:46)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>  at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
>  at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
>  at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>  at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
> at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
>  at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
> at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
>  at java.lang.Thread.run(Thread.java:662)
>
> I'm using GeoServer 2.1.0 under Tomcat 6 in an Ubuntu 11.04 64-bits and my
> layers are in a postgis database.
> Do you have suggestions of what might be the problem???
>
> Thanks in advance.
> Cheers,
> Hugo
>
>
> --
> Hugo Martins
> LabNT - ISEGI UNL
> Campus de Campolide
> 1070-312 Lisboa
> N 38°43'56.84", W 9°9'35.74"
>



-- 
Hugo Martins
LabNT - ISEGI UNL
Campus de Campolide
1070-312 Lisboa
N 38°43'56.84", W 9°9'35.74"
------------------------------------------------------------------------------
Get a FREE DOWNLOAD! and learn more about uberSVN rich system, 
user administration capabilities and model configuration. Take 
the hassle out of deploying and managing Subversion and the 
tools developers use with it. 
http://p.sf.net/sfu/wandisco-dev2dev
_______________________________________________
Geoserver-users mailing list
Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

Reply via email to