Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 2.4.1, 2.5-M0
-
Fix Version/s: 2.6-M2
-
Component/s: arcsde plugin
-
Labels:None
-
Environment:NA
Description
I have a SDE layer which I am trying to insert a record to through a Transaction post in geoserver. It seems that when adding the data, the api creates an empty default feature and then tries to validate the attributes for not-null condition. I have added some more log traces to produce the following stack.
Regards,
Cougar
[ArcSDEFeatureWriter:next:SSA]expected com.vividsolutions.jts.geom.Point , but got null
org.geotools.feature.IllegalAttributeException: expected com.vividsolutions.jts.geom.Point , but got
null
at org.geotools.feature.DefaultFeature.setAttribute(DefaultFeature.java:203)
at org.geotools.feature.DefaultFeature.setAttributes(DefaultFeature.java:232)
at org.geotools.feature.DefaultFeature.<init>(DefaultFeature.java:82)
at org.geotools.feature.DefaultFeatureType.create(DefaultFeatureType.java:140)
at org.geotools.feature.DefaultFeatureType.create(DefaultFeatureType.java:123)
at org.geotools.data.arcsde.ArcSDEFeatureWriter.next(ArcSDEFeatureWriter.java:170)
at org.geotools.data.AbstractFeatureStore.addFeatures(AbstractFeatureStore.java:212)
at org.vfny.geoserver.global.GeoServerFeatureStore.addFeatures(GeoServerFeatureStore.java:74
)
at org.vfny.geoserver.responses.wfs.TransactionResponse.execute(TransactionResponse.java:418
)
at org.vfny.geoserver.responses.wfs.TransactionResponse.execute(TransactionResponse.java:104
)
at org.vfny.geoserver.servlets.AbstractService.doService(AbstractService.java:362)
at org.vfny.geoserver.servlets.AbstractService.doPost(AbstractService.java:300)
at org.vfny.geoserver.servlets.AbstractService.doPost(AbstractService.java:252)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:358)
at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:294)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:567)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1807)
at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:525)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1757)
at org.mortbay.http.HttpServer.service(HttpServer.java:879)
at org.mortbay.http.HttpConnection.service(HttpConnection.java:790)
at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:961)
at org.mortbay.http.HttpConnection.handle(HttpConnection.java:807)
at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:197)
at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:276)
at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:511)
Caused by: java.lang.IllegalArgumentException: LOCATION is not nillable
at org.geotools.feature.DefaultAttributeType.validate(DefaultAttributeType.java:338)
at org.geotools.feature.DefaultFeature.setAttribute(DefaultFeature.java:200)
... 27 more
[ArcSDEFeatureWriter:next:SSA]Underlying exception java.lang.IllegalArgumentException: LOCATION is n
ot nillable
java.lang.IllegalArgumentException: LOCATION is not nillable
at org.geotools.feature.DefaultAttributeType.validate(DefaultAttributeType.java:338)
at org.geotools.feature.DefaultFeature.setAttribute(DefaultFeature.java:200)
at org.geotools.feature.DefaultFeature.setAttributes(DefaultFeature.java:232)
at org.geotools.feature.DefaultFeature.<init>(DefaultFeature.java:82)
at org.geotools.feature.DefaultFeatureType.create(DefaultFeatureType.java:140)
at org.geotools.feature.DefaultFeatureType.create(DefaultFeatureType.java:123)
at org.geotools.data.arcsde.ArcSDEFeatureWriter.next(ArcSDEFeatureWriter.java:170)
at org.geotools.data.AbstractFeatureStore.addFeatures(AbstractFeatureStore.java:212)
at org.vfny.geoserver.global.GeoServerFeatureStore.addFeatures(GeoServerFeatureStore.java:74
)
at org.vfny.geoserver.responses.wfs.TransactionResponse.execute(TransactionResponse.java:418
)
at org.vfny.geoserver.responses.wfs.TransactionResponse.execute(TransactionResponse.java:104
)
at org.vfny.geoserver.servlets.AbstractService.doService(AbstractService.java:362)
at org.vfny.geoserver.servlets.AbstractService.doPost(AbstractService.java:300)
at org.vfny.geoserver.servlets.AbstractService.doPost(AbstractService.java:252)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:358)
at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:294)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:567)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1807)
at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:525)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1757)
at org.mortbay.http.HttpServer.service(HttpServer.java:879)
at org.mortbay.http.HttpConnection.service(HttpConnection.java:790)
at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:961)
at org.mortbay.http.HttpConnection.handle(HttpConnection.java:807)
at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:197)
at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:276)
at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:511)
java.io.IOException: expected com.vividsolutions.jts.geom.Point , but got null
at org.geotools.data.arcsde.ArcSDEFeatureWriter.next(ArcSDEFeatureWriter.java:182)
at org.geotools.data.AbstractFeatureStore.addFeatures(AbstractFeatureStore.java:212)
at org.vfny.geoserver.global.GeoServerFeatureStore.addFeatures(GeoServerFeatureStore.java:74
)
at org.vfny.geoserver.responses.wfs.TransactionResponse.execute(TransactionResponse.java:418
)
at org.vfny.geoserver.responses.wfs.TransactionResponse.execute(TransactionResponse.java:104
)
at org.vfny.geoserver.servlets.AbstractService.doService(AbstractService.java:362)
at org.vfny.geoserver.servlets.AbstractService.doPost(AbstractService.java:300)
at org.vfny.geoserver.servlets.AbstractService.doPost(AbstractService.java:252)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:358)
at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:294)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:567)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1807)
at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:525)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1757)
at org.mortbay.http.HttpServer.service(HttpServer.java:879)
at org.mortbay.http.HttpConnection.service(HttpConnection.java:790)
at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:961)
at org.mortbay.http.HttpConnection.handle(HttpConnection.java:807)
at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:197)
at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:276)
at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:511)