[Geoserver-users] null pointer exception in oracle WFS insert

I'm using the most recent version of geoserver and the oracle plugin - works
great for all WMS and WFS getFeature requests. However, when I try to do an
insert I get the following error:

07 Feb 11:13:32 ERROR [geoserver.wfs] - Transaction failed
org.geoserver.wfs.WFSTransactionException: Error performing insert
        at
org.geoserver.wfs.InsertElementHandler.execute(InsertElementHandler.java:191)
        at org.geoserver.wfs.Transaction.execute(Transaction.java:328)
        at org.geoserver.wfs.Transaction.transaction(Transaction.java:104)
        at
org.geoserver.wfs.DefaultWebFeatureService.transaction(DefaultWebFeatureService.java:156)
        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:585)
        at
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:292)
        at
org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:155)
        at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:122)
        at org.geoserver.wfs.WFSLogger.invoke(WFSLogger.java:44)
        at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144)
        at
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:174)
        at $Proxy0.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:585)
        at
org.geoserver.security.OperationSecurityInterceptor.invoke(OperationSecurityInterceptor.java:41)
        at org.geoserver.ows.Dispatcher.execute(Dispatcher.java:495)
        at
org.geoserver.ows.Dispatcher.handleRequestInternal(Dispatcher.java:188)
        at
org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:139)
        at
org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:44)
        at
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:684)
        at
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:625)
        at
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:392)
        at
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:357)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at
org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:264)
        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:274)
        at
org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:110)
        at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
        at
org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
        at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
        at
org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:178)
        at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
        at
org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:229)
        at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
        at
org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:148)
        at
org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
        at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
        at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
        at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:544)
        at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
        at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
        at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
        at
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
        at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
        at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
        at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
        at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.NullPointerException
        at
org.geotools.data.oracle.OracleFeatureWriter.doInsert(OracleFeatureWriter.java:183)
        at
org.geotools.data.jdbc.JDBCFeatureWriter.write(JDBCFeatureWriter.java:216)
        at
org.geotools.data.InProcessLockingManager$1.write(InProcessLockingManager.java:330)
        at
org.geotools.data.jdbc.JDBCFeatureStore.addFeatures(JDBCFeatureStore.java:378)
        at
org.vfny.geoserver.global.GeoServerFeatureStore.addFeatures(GeoServerFeatureStore.java:76)
        at
org.geoserver.wfs.InsertElementHandler.execute(InsertElementHandler.java:164)
        ... 63 more
07 Feb 11:13:32 INFO [geoserver.wfs] -
Request: transaction
        handle = null
        service = WFS
        version = 1.0.0
        baseUrl = http://localhost:80/geoserver/
        lockId = null
        group =
[net.opengis.wfs:insert=net.opengis.wfs.impl.InsertElementTypeImpl@anonymised.com
(feature: [Feature[ id=fid-5cfd3aa0_117f482d95b_-7ff6 , NAME=null ,
GEOMETRY=null ]], handle: null, idgen: <unset>, inputFormat: <unset>,
srsName: null)]
        insert = [net.opengis.wfs.impl.InsertElementTypeImpl@anonymised.com
(feature: [Feature[ id=fid-5cfd3aa0_117f482d95b_-7ff6 , NAME=null ,
GEOMETRY=null ]], handle: null, idgen: <unset>, inputFormat: <unset>,
srsName: null)]
        update =
        delete =
        native =
        releaseAction = ALL

To me it appears that the geometry and name elements aren't getting
populated somehow. When I try a similar transaction against a shape file
(like in the example) it works great.

Any help will be greatly appreciated.

Thanks,
Rob

--
View this message in context: http://www.nabble.com/null-pointer-exception-in-oracle-WFS-insert-tp15340163p15340163.html
Sent from the GeoServer - User mailing list archive at Nabble.com.

zerogeek ha scritto:

I'm using the most recent version of geoserver and the oracle plugin - works
great for all WMS and WFS getFeature requests. However, when I try to do an
insert I get the following error:

...

Caused by: java.lang.NullPointerException
        at
org.geotools.data.oracle.OracleFeatureWriter.doInsert(OracleFeatureWriter.java:183)

...

[net.opengis.wfs:insert=net.opengis.wfs.impl.InsertElementTypeImpl@anonymised.com
(feature: [Feature[ id=fid-5cfd3aa0_117f482d95b_-7ff6 , NAME=null ,
GEOMETRY=null ]], handle: null, idgen: <unset>, inputFormat: <unset>,
srsName: null)]
        insert = [net.opengis.wfs.impl.InsertElementTypeImpl@anonymised.com
(feature: [Feature[ id=fid-5cfd3aa0_117f482d95b_-7ff6 , NAME=null ,
GEOMETRY=null ]], handle: null, idgen: <unset>, inputFormat: <unset>,
srsName: null)]
        update =
        delete =
        native =
        releaseAction = ALL

To me it appears that the geometry and name elements aren't getting
populated somehow. When I try a similar transaction against a shape file
(like in the example) it works great.

Any help will be greatly appreciated.

It seems a solid bug. We'll most likely be unable to fix it for
GeoServer 1.6.0, Oracle datastore is unmantained and the final
is due out in a few days.

Anyways, if you want to see it solved, the first step it to
provide an sql script to create the same table as yours,
the WFS insert request, and put everything in our bug
tracker at jira.codehaus.org, so that we can look at it,
reproduce and hopefully fix.

Cheers
Andrea

Thanks for the reply andrea,

Do I have any hope of this working in prior versions? I can't be the first
person who's attempted to do an WFS intsert on an oracle featureset....does
anyone else have this working?

Thanks,
Rob

____________

It seems a solid bug. We'll most likely be unable to fix it for
GeoServer 1.6.0, Oracle datastore is unmantained and the final
is due out in a few days.

Anyways, if you want to see it solved, the first step it to
provide an sql script to create the same table as yours,
the WFS insert request, and put everything in our bug
tracker at jira.codehaus.org, so that we can look at it,
reproduce and hopefully fix.

Cheers
Andrea

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Geoserver-users mailing list
Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

--
View this message in context: http://www.nabble.com/null-pointer-exception-in-oracle-WFS-insert-tp15340163p15345103.html
Sent from the GeoServer - User mailing list archive at Nabble.com.

zerogeek ha scritto:

Thanks for the reply andrea,

Do I have any hope of this working in prior versions?

Hum, 1.6.0 is due out too soon and you still haven't provided the
information to reproduce the bug, so no, definitely not in 1.6.0.
If you provide the information needed into a jira issue there's hope
for 1.6.1 (which should be available soon).

I can't be the first
person who's attempted to do an WFS intsert on an oracle featureset....does
anyone else have this working?

No one of the developers is using Oracle. I do have it on my machine just to make some bug fixes, but I always think twice before starting that monster (eats a ton of memory and eats my 8080 port, both very annoying).

Cheers
Andrea

This has been solved!

The fields on the insert must be in caps. Once I did that features now are
inserting just fine.

Thanks,
rob

--
View this message in context: http://www.nabble.com/null-pointer-exception-in-oracle-WFS-insert-tp15340163p15360224.html
Sent from the GeoServer - User mailing list archive at Nabble.com.

zerogeek ha scritto:

This has been solved!

The fields on the insert must be in caps. Once I did that features now are
inserting just fine.

Ah, yes, you always have to use the attribute names as they are reported
by the feature type editor page. Afaik it's Oracle that's throwing
at us uppercase names, we cannot do anything about it

Cheers
Andrea

I am using Geoserver 2.0 n getting a pink Tile with Null pointer Exception
error in my maps.
the tile is not at specific lat long it varies with zoom level,it is seen at
a specified lat long and when i zoom in ,the tile disapear from the same lat
long.
i m loading point,poly line and polygon shape files as well
any one would plz help me to figure out that what are the possibilities
behind this error
here is the Error Stack

[geoserver.ows] -
org.vfny.geoserver.wms.WmsException: java.lang.NullPointerException
  at
org.vfny.geoserver.wms.responses.GetMapResponse.execute(GetMapResponse.java:447)
  at
org.geoserver.ows.adapters.ResponseAdapter.getMimeType(ResponseAdapter.java:48)
  at org.geoserver.ows.Dispatcher.response(Dispatcher.java:712)
  at org.geoserver.ows.Dispatcher.handleRequestInternal(Dispatcher.java:234)
  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.doGet(FrameworkServlet.java:501)
  at javax.servlet.http.HttpServlet.service(HttpServlet.java:718)
  at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
  at
org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:411)
  at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:317)
  at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
  at
org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108)
  at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
  at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
  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.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
  at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
  at org.geoserver.filters.LoggingFilter.doFilter(LoggingFilter.java:73)
  at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
  at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
  at
org.geoserver.filters.ReverseProxyFilter.doFilter(ReverseProxyFilter.java:183)
  at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
  at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
  at org.geoserver.filters.GZIPFilter.doFilter(GZIPFilter.java:41)
  at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
  at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
  at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:288)
  at
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:271)
  at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:202)
  at
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
  at
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
  at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
  at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:206)
  at
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
  at
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
  at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
  at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
  at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:150)
  at
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
  at
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
  at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
  at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
  at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:272)
  at
com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:637)
  at
com.sun.enterprise.web.connector.grizzly.comet.CometEngine.executeServlet(CometEngine.java:547)
  at
com.sun.enterprise.web.connector.grizzly.comet.CometEngine.handle(CometEngine.java:299)
  at
com.sun.enterprise.web.connector.grizzly.comet.CometAsyncFilter.doFilter(CometAsyncFilter.java:87)
  at
com.sun.enterprise.web.connector.grizzly.async.DefaultAsyncExecutor.invokeFilters(DefaultAsyncExecutor.java:175)
  at
com.sun.enterprise.web.connector.grizzly.async.DefaultAsyncExecutor.interrupt(DefaultAsyncExecutor.java:153)
  at
com.sun.enterprise.web.connector.grizzly.async.AsyncProcessorTask.doTask(AsyncProcessorTask.java:92)
  at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
  at
com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)
Caused by: java.lang.NullPointerException
  at
com.sun.enterprise.web.connector.coyote.PwcCoyoteRequest.getFormHintFieldEncoding(PwcCoyoteRequest.java:238)
  at
com.sun.enterprise.web.connector.coyote.PwcCoyoteRequest.setRequestEncodingFromSunWebXml(PwcCoyoteRequest.java:204)
  at
com.sun.enterprise.web.connector.coyote.PwcCoyoteRequest.getCharacterEncoding(PwcCoyoteRequest.java:124)
  at
org.apache.coyote.tomcat5.CoyoteRequest.parseRequestParameters(CoyoteRequest.java:2896)
  at
org.apache.coyote.tomcat5.CoyoteRequest.getParameterNames(CoyoteRequest.java:1323)
  at
org.apache.coyote.tomcat5.CoyoteRequestFacade.getParameterNames(CoyoteRequestFacade.java:408)
  at
org.vfny.geoserver.wms.responses.map.metatile.QuickTileCache.buildMapDefinition(QuickTileCache.java:179)
  at
org.vfny.geoserver.wms.responses.map.metatile.QuickTileCache.getMetaTileKey(QuickTileCache.java:90)
  at
org.vfny.geoserver.wms.responses.map.metatile.MetatileMapProducer.produceMap(MetatileMapProducer.java:88)
  at
org.vfny.geoserver.wms.responses.GetMapResponse.execute(GetMapResponse.java:426)
  ... 68 more

--
View this message in context: http://old.nabble.com/null-pointer-exception-in-oracle-WFS-insert-tp15340163p29212115.html
Sent from the GeoServer - User mailing list archive at Nabble.com.