Dear list, dear Chris,

Sorry for posting so limited information, as I merely described the usage
scenario...

Below I pasted the verbose log, starting off with the actual WFS-T-request
posted by MapInfo (inserting a single feature; column names: "geom",
"sitename"). Just before the massive stack trace a SELECT-query is posted:

SELECT "idx",encode(asBinary(force_
2d("geom"),'XDR'),'base64') as "geom","sitename" FROM "public"."zones" WHERE
0 = 1

Something wrong there?

Full log:

20 Jan 11:08:30 DEBUG [geoserver.ows] - Raw XML request starts with: <?xml
version="1.0" ?>
<wfs:Transaction
version="1.0.0"
service="WFS"
xmlns:wfs="http://www.opengis.net/wfs";
xmlns:MNS="http://dummy.mns.ns.glob";
xmlns:gml="http://www.opengis.net/gml";
xmlns:ogc="http://www.opengis.net/ogc";
xmlns="http://www.opengis.net/wfs";
xsi:schemaLocation="http://www.opengis.net/wfs ../wfs/1.0.0/WFS-basic.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
<wfs:Insert xmlns:wfs="http://www.opengis.net/wfs";><MNS:zones xmlns:MNS="
http://dummy.mns.ns.glob";><MNS:geom><gml:MultiPolygon xmlns:gml="
http://www.opengis.net/gml";
srsName="EPSG:28992"><gml:polygonMember><gml:Polygon><gml:outerBoundaryIs><gml:LinearRing><gml:coordinates>290198.40000000002,434467.90000000002
251016,417508.40000000002 279087,382419.79999999999
312421.29999999999,405227.40000000002
290198.40000000002,434467.90000000002</gml:coordinates></gml:LinearRing></gml:outerBoundaryIs></gml:Polygon></gml:polygonMember></gml:MultiPolygon></MNS:geom><sitename>HAA</sitename></MNS:zones></wfs:Insert></wfs:Transaction>

20 Jan 11:08:30 INFO [geoserver.wfs] -
Request: getServiceInfo
20 Jan 11:08:30 DEBUG [geotools.xml] - schemaLocation found:
http://www.opengis.net/wfs ../wfs/1.0.0/WFS-basic.xsd
20 Jan 11:08:30 DEBUG [geotools.xml] - Found override for
http://www.opengis.net/wfs: ../wfs/1.0.0/WFS-basic.xsd ==>
jar:file:/usr/local/geoserver-2.0.2/webapps/geoserver/WEB-INF/lib/wfs-2.0.2.jar!/org/geoserver/wfs/xml/v1_0_0/WFS-basic.xsd
20 Jan 11:08:30 DEBUG [geotools.xml] - Could not find declaration for: {
http://www.opengis.net/wfs}sitename <http://www.opengis.net/wfs%7Dsitename>.
Checking if containing type declares a single particle.
20 Jan 11:08:30 DEBUG [geotools.xml] - Could not find declaration for: {
http://www.opengis.net/wfs}sitename <http://www.opengis.net/wfs%7Dsitename>.
Performing lookup by ignoring namespace
20 Jan 11:08:30 DEBUG [geoserver.wfs] - Locating FeatureSource uri:'
http://dummy.mns.ns.glob' name:'zones'
20 Jan 11:08:30 DEBUG [geoserver.wfs] - located FeatureType w/ typeRef
'APPEL:zones' and elementName '{http://dummy.mns.ns.glob}zones'
20 Jan 11:08:30 DEBUG [geoserver.wfs] - Transasction
Insert:net.opengis.wfs.impl.InsertElementTypeImpl@174f6ce (feature:
[SimpleFeatureImpl:zones=[SimpleFeatureImpl.Attribute: geom<geom
id=fid--38cac012_12da2e59234_-8000>=, SimpleFeatureImpl.Attribute:
sitename<sitename id=fid--38cac012_12da2e59234_-8000>=HAA]], handle: null,
idgen: <unset>, inputFormat: <unset>, srsName: null)
20 Jan 11:08:30 DEBUG [geoserver.wfs] - Use featureValidation to check
contents of insert
20 Jan 11:08:30 DEBUG [geotools.jdbc] - CREATE CONNECTION
20 Jan 11:08:30 TRACE [geotools.core] - ENTRY -12,345
20 Jan 11:08:30 DEBUG [geotools.jdbc] - SELECT
"idx",encode(asBinary(force_2d("geom"),'XDR'),'base64') as "geom","sitename"
FROM "public"."zones" WHERE 0 = 1
20 Jan 11:08:30 INFO [gwc.GWCCleanser] - Deleting GWC cache for MNS:zones
20 Jan 11:08:30 DEBUG [geotools.jdbc] - Setting geom to
20 Jan 11:08:30 DEBUG [geotools.jdbc] - Setting 0 to
20 Jan 11:08:30 DEBUG [geotools.jdbc] - Setting sitename to HAA
20 Jan 11:08:30 DEBUG [geotools.jdbc] - Setting 1 to HAA
20 Jan 11:08:30 ERROR [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(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 $Proxy17.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.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: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:183)
        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.jdbc.JDBCDataStore.insertSQL(JDBCDataStore.java:3245)
        at org.geotools.jdbc.JDBCDataStore.insert(JDBCDataStore.java:1249)
        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.vfny.geoserver.global.GeoServerFeatureStore.addFeatures(GeoServerFeatureStore.java:81)
        at
org.geoserver.wfs.InsertElementHandler.execute(InsertElementHandler.java:173)
        ... 69 more

Request: transaction
        handle = null
        service = WFS
        version = 1.0.0
        baseUrl = http://mnsgeo:8080/geoserver/
        providedVersion = null
        lockId = null
        group =
[wfs:insert=net.opengis.wfs.impl.InsertElementTypeImpl@174f6ce (feature:
[SimpleFeatureImpl:zones=[SimpleFeatureImpl.Attribute: geom<geom
id=fid--38cac012_12da2e59234_-8000>=, SimpleFeatureImpl.Attribute:
sitename<sitename id=fid--38cac012_12da2e59234_-8000>=HAA]], handle: null,
idgen: <unset>, inputFormat: <unset>, srsName: null)]
        insert =
[net.opengis.wfs.impl.InsertElementTypeImpl@174f6ce(feature:
[SimpleFeatureImpl:zones=[SimpleFeatureImpl.Attribute: geom<geom
id=fid--38cac012_12da2e59234_-8000>=, SimpleFeatureImpl.Attribute:
sitename<sitename id=fid--38cac012_12da2e59234_-8000>=HAA]], handle: null,
idgen: <unset>, inputFormat: <unset>, srsName: null)]
        update = []
        delete = []
        native = []
        releaseAction = ALL

Any ideas?

Regards,
Rob.


2011/1/20 Chris Holmes <[email protected]>

> You're going to need to provide some more info to give anyone the chance to
> help solve the problem.
>
> Can you get what the actual transaction request that MapInfo is sending?
>
> Posting the logs with the logging level turned up also may help.
>
> Chris
>
> On Wed, Jan 19, 2011 at 11:20 AM, InterRob <[email protected]> wrote:
>
>> Dear list,
>>
>> I have a PostGIS table with just 8 geometries (polygons), each row having
>> only one data attribute (character(8) ).
>> Using MapInfo 10.5 as a client, I downloaded these through WFS. Then, I
>> added one feature by drawing a polygon and assigning some text to the new
>> records' single attribute.
>>
>> To commit the editing to DBMS, I instructed MapInfo to save the table:
>> MapInfo then generates a transaction request. However, GeoServer fails to
>> process the transaction, logging a org.geoserver.wfs.WFSTransactionException
>> ("Error performing insert").
>>
>> It is stated that the exception was caused by:
>> java.lang.ClassCastException: java.lang.String cannot be cast to
>> com.vividsolutions.jts.geom.Geometry
>>
>> I'm running GeoServer 2.0.2.
>>
>> What is possibly causing this? Any help or hints are very much
>> appreciated!
>>
>> Regards,
>>
>> Rob.
>>
>>
>> ------------------------------------------------------------------------------
>> Protect Your Site and Customers from Malware Attacks
>> Learn about various malware tactics and how to avoid them. Understand
>> malware threats, the impact they can have on your business, and how you
>> can protect your company and customers by using code signing.
>> http://p.sf.net/sfu/oracle-sfdevnl
>> _______________________________________________
>> Geoserver-users mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/geoserver-users
>>
>>
>
------------------------------------------------------------------------------
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand 
malware threats, the impact they can have on your business, and how you 
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
Geoserver-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geoserver-users

Reply via email to