[Geoserver-users] wfs-t: transaction insert failed

Hi list,
i tried to test a transaction insert for a featureType of my WFS, but it failed.
I turned the wfs to “complete” before i did the transaction. Here’s the error stack:

java.lang.RuntimeException: Parsing failed for boundedBy: java.lang.ClassCastException: java.util.HashMap
at org.geotools.xml.impl.ParseExecutor.visit(ParseExecutor.java:142)
at org.geotools.xml.impl.BindingWalker$BindingExecutionChain.execute(BindingWalker.java:197)
at org.geotools.xml.impl.BindingWalker.walk(BindingWalker.java:163)
at org.geotools.xml.impl.ElementHandlerImpl.endElement(ElementHandlerImpl.java:222)
at org.geotools.xml.impl.ParserHandler.endElement(ParserHandler.java:499)
at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at org.geotools.xml.Parser.parse(Parser.java:185)
at org.geotools.xml.Parser.parse(Parser.java:164)
at org.geoserver.wfs.xml.v1_0_0.WfsXmlReader.read(WfsXmlReader.java:60)
at org.geoserver.ows.Dispatcher.parseRequestXML(Dispatcher.java:1072)
at org.geoserver.ows.Dispatcher.dispatch(Dispatcher.java:389)
at org.geoserver.ows.Dispatcher.handleRequestInternal(Dispatcher.java:185)
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.geoserver.filters.LoggingFilter.doFilter(LoggingFilter.java:69)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.geoserver.filters.GZIPFilter.doFilter(GZIPFilter.java:47)
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.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
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.ClassCastException: java.util.HashMap
at org.geotools.gml2.bindings.GMLBoundingShapeTypeBinding.parse(GMLBoundingShapeTypeBinding.java:86)
at org.geotools.xml.impl.ParseExecutor.visit(ParseExecutor.java:130)
… 65 more
The error says nothing to me. Here are some details:
I’m using geoserver 1.6.3 with an oracle 10.2 backend (the featureType is of sdo_geometry). The transaction request looks good i think, so it should rather work. What may be the problem?

Best
Albrecht

Hi Albrecht,

It seems parsing the request is failing. Can you include the request.

Also one thing to try is to post the request to http://…/geoserver/wfs?strict=true. This will ensure that your request is xml valid, and will report any problems with it.

-Justin

Albrecht.Weiser@anonymised.com wrote:

Hi list,
i tried to test a transaction insert for a featureType of my WFS, but it failed.
I turned the wfs to "complete" before i did the transaction. Here's the error stack:

java.lang.RuntimeException: Parsing failed for boundedBy: java.lang.ClassCastException: java.util.HashMap
        at org.geotools.xml.impl.ParseExecutor.visit(ParseExecutor.java:142)
        at org.geotools.xml.impl.BindingWalker$BindingExecutionChain.execute(BindingWalker.java:197)

        at org.geotools.xml.impl.BindingWalker.walk(BindingWalker.java:163)
        at org.geotools.xml.impl.ElementHandlerImpl.endElement(ElementHandlerImpl.java:222)

        at org.geotools.xml.impl.ParserHandler.endElement(ParserHandler.java:499)
        at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
        at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source)
        at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
        at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
        at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
        at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
        at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
        at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
        at org.geotools.xml.Parser.parse(Parser.java:185)
        at org.geotools.xml.Parser.parse(Parser.java:164)
        at org.geoserver.wfs.xml.v1_0_0.WfsXmlReader.read(WfsXmlReader.java:60)
        at org.geoserver.ows.Dispatcher.parseRequestXML(Dispatcher.java:1072)
        at org.geoserver.ows.Dispatcher.dispatch(Dispatcher.java:389)
        at org.geoserver.ows.Dispatcher.handleRequestInternal(Dispatcher.java:185)
        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.geoserver.filters.LoggingFilter.doFilter(LoggingFilter.java:69)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)

        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)

        at org.geoserver.filters.GZIPFilter.doFilter(GZIPFilter.java:47)
        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.core.StandardEngineValve.invoke(StandardEngineValve.java:108)

        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
        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.ClassCastException: java.util.HashMap
        at org.geotools.gml2.bindings.GMLBoundingShapeTypeBinding.parse(GMLBoundingShapeTypeBinding.java:86)

        at org.geotools.xml.impl.ParseExecutor.visit(ParseExecutor.java:130)
        ... 65 more
The error says nothing to me. Here are some details:
I'm using geoserver 1.6.3 with an oracle 10.2 backend (the featureType is of sdo_geometry). The transaction request looks good i think, so it should rather work. What may be the problem?

Best
Albrecht

!DSPAM:4007,486258e597492090977483!

------------------------------------------------------------------------

-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php

!DSPAM:4007,486258e597492090977483!

------------------------------------------------------------------------

_______________________________________________
Geoserver-users mailing list
Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

!DSPAM:4007,486258e597492090977483!

--
Justin Deoliveira
The Open Planning Project
jdeolive@anonymised.com

Hi Justin,
thanks for answering. The request is xml well-formed, but i'm not sure if it's allright against the schema. I took a GetFeature response and wrapped it with a transaction/insert. Here's the request:

<?xml version="1.0" encoding="UTF-8"?>
<wfs:Transaction service="WFS" version="1.0.0"
  xmlns:wfs="http://www.opengis.net/wfs&quot;
  xmlns:ora="http://umwelt.hessen.de/oracle&quot;
  xmlns:sde="http://umwelt.hessen.de/arcsde&quot;
  xmlns:topp="http://www.openplans.org/topp&quot;
  xmlns:gml="http://www.opengis.net/gml&quot;
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance&quot;
  xsi:schemaLocation="http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.0.0/WFS-transaction.xsd&quot;&gt;
  <wfs:Insert>
    <ora:KA_KOM_EINL_SDO>
      <gml:boundedBy>
        <gml:Envelope srsName="urn:x-ogc:def:crs:EPSG:6.11.2:31467">
          <gml:lowerCorner>5473595 3489186</gml:lowerCorner>
          <gml:upperCorner>5473595 3489186</gml:upperCorner>
        </gml:Envelope>
      </gml:boundedBy>
      <ora:OBJECTID>726</ora:OBJECTID>
      <ora:ABW_ANL_ID>800000059</ora:ABW_ANL_ID>
      <ora:EXT_KA_NR>07000000000-1</ora:EXT_KA_NR>
      <ora:KA_NAME>Entenhausen</ora:KA_NAME>
      <ora:KA_ZUSATZNAME>Entenhausen</ora:KA_ZUSATZNAME>
      <ora:BETREI_ID>100001832</ora:BETREI_ID>
      <ora:BETREIBER_NAME>TSV Entenhausen</ora:BETREIBER_NAME>
      <ora:BETREIBER_ANREDE>Donald Duck</ora:BETREIBER_ANREDE>
      <ora:BETREIBER_ADRESSAT>Mausgasse 13</ora:BETREIBER_ADRESSAT>
      <ora:EINLEITESTELLE_ID>9000</ora:EINLEITESTELLE_ID>
      <ora:EINLEITESTELLE_BEZ>Bla</ora:EINLEITESTELLE_BEZ>
      <ora:GEMARKG>Entenhausen</ora:GEMARKG>
      <ora:RECHTSWERT>3489186</ora:RECHTSWERT>
      <ora:HOCHWERT>5473595</ora:HOCHWERT>
      <ora:TK25_KARTE>6217</ora:TK25_KARTE>
      <ora:VERSICKERG_JN>nein</ora:VERSICKERG_JN>
      <ora:GEWAE_NR>4711</ora:GEWAE_NR>
      <ora:GEWAE_HAUPTNAME>Fanggraben</ora:GEWAE_HAUPTNAME>
      <ora:GEWAE_EZG>4711</ora:GEWAE_EZG>
      <ora:WASSERKOERPER>Laber</ora:WASSERKOERPER>
      <ora:MITTL_NIEDRWA_ABFL>74</ora:MITTL_NIEDRWA_ABFL>
      <ora:ERLAUB_BEHOERDE>RP Darmstadt, Abt. Umwelt Darmstadt</ora:ERLAUB_BEHOERDE>
      <ora:RECHTL_AKTUELL>ja</ora:RECHTL_AKTUELL>
      <ora:ERLAUB_ID>4711</ora:ERLAUB_ID>
      <ora:LETZTE_ERLAUB_DAT>2000-05-14+00:00</ora:LETZTE_ERLAUB_DAT>
      <ora:STAND>2008-03-09+00:00</ora:STAND>
      <ora:SHAPE>
        <gml:Point srsName="urn:x-ogc:def:crs:EPSG:6.11.2:31467">
          <gml:pos>5473595 3489186</gml:pos>
        </gml:Point>
      </ora:SHAPE>
    </ora:KA_KOM_EINL_SDO>
  </wfs:Insert>
</wfs:Transaction>

I checked it against the schema with the flag ?strict=true in the URL but with the same effect (i sent it with http-POST). Does it work only for http-GET requests?

Best wishes
Albrecht

-----Ursprüngliche Nachricht-----
Von: Justin Deoliveira [mailto:jdeolive@anonymised.com]
Gesendet: Donnerstag, 26. Juni 2008 16:03
An: Weiser, Albrecht (HZD)
Cc: geoserver-users@lists.sourceforge.net
Betreff: Re: [Geoserver-users] wfs-t: transaction insert failed

Hi Albrecht,

It seems parsing the request is failing. Can you include the request.

Also one thing to try is to post the request to
http://…/geoserver/wfs?strict=true. This will ensure that
your request
is xml valid, and will report any problems with it.

-Justin

Albrecht.Weiser@anonymised.com wrote:
> Hi list,
> i tried to test a transaction insert for a featureType of
my WFS, but it
> failed.
> I turned the wfs to "complete" before i did the
transaction. Here's the
> error stack:
>
> java.lang.RuntimeException: Parsing failed for boundedBy:
> java.lang.ClassCastException: java.util.HashMap
> at
> org.geotools.xml.impl.ParseExecutor.visit(ParseExecutor.java:142)
> at
>
org.geotools.xml.impl.BindingWalker$BindingExecutionChain.exec
ute(BindingWalker.java:197)
>
> at
org.geotools.xml.impl.BindingWalker.walk(BindingWalker.java:163)
> at
>
org.geotools.xml.impl.ElementHandlerImpl.endElement(ElementHan
dlerImpl.java:222)
>
> at
>
org.geotools.xml.impl.ParserHandler.endElement(ParserHandler.java:499)
> at
>
org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
> at
>
org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement
(Unknown
> Source)
> at
>
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$Fragment
ContentDispatcher.dispatch(Unknown
> Source)
> at
>
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocu
ment(Unknown
> Source)
> at
org.apache.xerces.parsers.XML11Configuration.parse(Unknown
> Source)
> at
org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
> at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
> at
org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown
> Source)
> at org.geotools.xml.Parser.parse(Parser.java:185)
> at org.geotools.xml.Parser.parse(Parser.java:164)
> at
> org.geoserver.wfs.xml.v1_0_0.WfsXmlReader.read(WfsXmlReader.java:60)
> at
> org.geoserver.ows.Dispatcher.parseRequestXML(Dispatcher.java:1072)
> at
org.geoserver.ows.Dispatcher.dispatch(Dispatcher.java:389)
> at
>
org.geoserver.ows.Dispatcher.handleRequestInternal(Dispatcher.
java:185)
> at
>
org.springframework.web.servlet.mvc.AbstractController.handleR
equest(AbstractController.java:139)
>
> at
>
org.springframework.web.servlet.mvc.SimpleControllerHandlerAda
pter.handle(SimpleControllerHandlerAdapter.java:44)
>
> at
>
org.springframework.web.servlet.DispatcherServlet.doDispatch(D
ispatcherServlet.java:684)
>
> at
>
org.springframework.web.servlet.DispatcherServlet.doService(Di
spatcherServlet.java:625)
>
> at
>
org.springframework.web.servlet.FrameworkServlet.processReques
t(FrameworkServlet.java:392)
>
> at
>
org.springframework.web.servlet.FrameworkServlet.doPost(Framew
orkServlet.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.internalDoFilt
er(ApplicationFilterChain.java:269)
>
> at
>
org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
cationFilterChain.java:188)
>
> at
>
org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter
(SetCharacterEncodingFilter.java:108)
>
> at
>
org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
er(ApplicationFilterChain.java:215)
>
> at
>
org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
cationFilterChain.java:188)
>
> at
> org.geoserver.filters.LoggingFilter.doFilter(LoggingFilter.java:69)
> at
>
org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
er(ApplicationFilterChain.java:215)
>
> at
>
org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
cationFilterChain.java:188)
>
> at
org.geoserver.filters.GZIPFilter.doFilter(GZIPFilter.java:47)
> at
>
org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
er(ApplicationFilterChain.java:215)
>
> at
>
org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
cationFilterChain.java:188)
>
> at
>
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doF
ilter(FilterChainProxy.java:264)
>
> at
>
org.acegisecurity.intercept.web.FilterSecurityInterceptor.invo
ke(FilterSecurityInterceptor.java:107)
>
> at
>
org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFi
lter(FilterSecurityInterceptor.java:72)
>
> at
>
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doF
ilter(FilterChainProxy.java:274)
>
> at
>
org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(Excep
tionTranslationFilter.java:110)
>
> at
>
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doF
ilter(FilterChainProxy.java:274)
>
> at
>
org.acegisecurity.providers.anonymous.AnonymousProcessingFilte
r.doFilter(AnonymousProcessingFilter.java:125)
>
> at
>
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doF
ilter(FilterChainProxy.java:274)
>
> at
>
org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(
BasicProcessingFilter.java:178)
>
> at
>
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doF
ilter(FilterChainProxy.java:274)
>
> at
>
org.acegisecurity.context.HttpSessionContextIntegrationFilter.
doFilter(HttpSessionContextIntegrationFilter.java:229)
>
> at
>
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doF
ilter(FilterChainProxy.java:274)
>
> at
>
org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainPr
oxy.java:148)
> at
>
org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBean
Proxy.java:98)
>
> at
>
org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
er(ApplicationFilterChain.java:215)
>
> at
>
org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
cationFilterChain.java:188)
>
> at
>
org.apache.catalina.core.StandardWrapperValve.invoke(StandardW
rapperValve.java:213)
>
> at
>
org.apache.catalina.core.StandardContextValve.invoke(StandardC
ontextValve.java:174)
>
> at
>
org.apache.catalina.core.StandardHostValve.invoke(StandardHost
Valve.java:127)
>
> at
>
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReport
Valve.java:117)
>
> at
>
org.apache.catalina.core.StandardEngineValve.invoke(StandardEn
gineValve.java:108)
>
> at
>
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdap
ter.java:174)
> at
>
org.apache.coyote.http11.Http11Processor.process(Http11Process
or.java:874)
> at
>
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHa
ndler.processConnection(Http11BaseProtocol.java:665)
>
> at
>
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolT
cpEndpoint.java:528)
>
> at
>
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(Le
aderFollowerWorkerThread.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.ClassCastException: java.util.HashMap
> at
>
org.geotools.gml2.bindings.GMLBoundingShapeTypeBinding.parse(G
MLBoundingShapeTypeBinding.java:86)
>
> at
> org.geotools.xml.impl.ParseExecutor.visit(ParseExecutor.java:130)
> ... 65 more
> The error says nothing to me. Here are some details:
> I'm using geoserver 1.6.3 with an oracle 10.2 backend (the
featureType
> is of sdo_geometry). The transaction request looks good i
think, so it
> should rather work. What may be the problem?
>
> Best
> Albrecht
>
>
> !DSPAM:4007,486258e597492090977483!
>
>
>
--------------------------------------------------------------
----------
>
>
--------------------------------------------------------------
-----------
> Check out the new SourceForge.net Marketplace.
> It's the best place to buy or sell services for
> just about anything Open Source.
> http://sourceforge.net/services/buy/index.php
>
> !DSPAM:4007,486258e597492090977483!
>
>
>
--------------------------------------------------------------
----------
>
> _______________________________________________
> Geoserver-users mailing list
> Geoserver-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/geoserver-users
>
>
> !DSPAM:4007,486258e597492090977483!

--
Justin Deoliveira
The Open Planning Project
jdeolive@anonymised.com

Albrecht.Weiser@anonymised.com ha scritto:

Hi Justin,
thanks for answering. The request is xml well-formed, but i'm not sure if it's allright against the schema. I took a GetFeature response and wrapped it with a transaction/insert. Here's the request:

<?xml version="1.0" encoding="UTF-8"?>
<wfs:Transaction service="WFS" version="1.0.0"
  xmlns:wfs="http://www.opengis.net/wfs&quot;
  xmlns:ora="http://umwelt.hessen.de/oracle&quot; xmlns:sde="http://umwelt.hessen.de/arcsde&quot; xmlns:topp="http://www.openplans.org/topp&quot;
  xmlns:gml="http://www.opengis.net/gml&quot;
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance&quot;
  xsi:schemaLocation="http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.0.0/WFS-transaction.xsd&quot;&gt;
  <wfs:Insert>
    <ora:KA_KOM_EINL_SDO>
      <gml:boundedBy>
        <gml:Envelope srsName="urn:x-ogc:def:crs:EPSG:6.11.2:31467">
          <gml:lowerCorner>5473595 3489186</gml:lowerCorner>
          <gml:upperCorner>5473595 3489186</gml:upperCorner>
        </gml:Envelope>
      </gml:boundedBy>
      <ora:OBJECTID>726</ora:OBJECTID>
      <ora:ABW_ANL_ID>800000059</ora:ABW_ANL_ID>
      <ora:EXT_KA_NR>07000000000-1</ora:EXT_KA_NR>
      <ora:KA_NAME>Entenhausen</ora:KA_NAME>
      <ora:KA_ZUSATZNAME>Entenhausen</ora:KA_ZUSATZNAME>
      <ora:BETREI_ID>100001832</ora:BETREI_ID>
      <ora:BETREIBER_NAME>TSV Entenhausen</ora:BETREIBER_NAME>
      <ora:BETREIBER_ANREDE>Donald Duck</ora:BETREIBER_ANREDE>
      <ora:BETREIBER_ADRESSAT>Mausgasse 13</ora:BETREIBER_ADRESSAT>
      <ora:EINLEITESTELLE_ID>9000</ora:EINLEITESTELLE_ID>
      <ora:EINLEITESTELLE_BEZ>Bla</ora:EINLEITESTELLE_BEZ>
      <ora:GEMARKG>Entenhausen</ora:GEMARKG>
      <ora:RECHTSWERT>3489186</ora:RECHTSWERT>
      <ora:HOCHWERT>5473595</ora:HOCHWERT>
      <ora:TK25_KARTE>6217</ora:TK25_KARTE>
      <ora:VERSICKERG_JN>nein</ora:VERSICKERG_JN>
      <ora:GEWAE_NR>4711</ora:GEWAE_NR>
      <ora:GEWAE_HAUPTNAME>Fanggraben</ora:GEWAE_HAUPTNAME>
      <ora:GEWAE_EZG>4711</ora:GEWAE_EZG>
      <ora:WASSERKOERPER>Laber</ora:WASSERKOERPER>
      <ora:MITTL_NIEDRWA_ABFL>74</ora:MITTL_NIEDRWA_ABFL>
      <ora:ERLAUB_BEHOERDE>RP Darmstadt, Abt. Umwelt Darmstadt</ora:ERLAUB_BEHOERDE>
      <ora:RECHTL_AKTUELL>ja</ora:RECHTL_AKTUELL>
      <ora:ERLAUB_ID>4711</ora:ERLAUB_ID>
      <ora:LETZTE_ERLAUB_DAT>2000-05-14+00:00</ora:LETZTE_ERLAUB_DAT>
      <ora:STAND>2008-03-09+00:00</ora:STAND>
      <ora:SHAPE>
        <gml:Point srsName="urn:x-ogc:def:crs:EPSG:6.11.2:31467">
          <gml:pos>5473595 3489186</gml:pos>
        </gml:Point>
      </ora:SHAPE>
    </ora:KA_KOM_EINL_SDO>
  </wfs:Insert>
</wfs:Transaction>

I checked it against the schema with the flag ?strict=true in the URL but with the same effect (i sent it with http-POST). Does it work only for http-GET requests?

Now this one is interesting. I checked with strict=true with your request and indeed I get the same response, yet I am sure your
request is not schema compliant because your insert is
GML3 (came out of a WFS 1.1 request) , but the transaction is
using WFS 1.0, so the insert part should be expressed in GML2.

So I guess we have two problems here, one is that validation
is not telling us that the request is invalid even with
schema validation enabled, and the other is in the request
itself.

Can you redo a GetFeature specifying the 1.0.0 version and
use that as a prototype for you insert? And oh, the bbox
of the feature is not necessary while making an insert.

Cheers
Andrea

Hi Andrea,
the new request passes now. I didn't know, that the wfs-t is of schema
1.0.0. Here's the right request:
<?xml version="1.0" encoding="UTF-8"?>
<wfs:Transaction service="WFS" version="1.0.0"
xmlns:wfs="http://www.opengis.net/wfs&quot;
xmlns:ora="http://umwelt.hessen.de/oracle&quot;
xmlns:sde="http://umwelt.hessen.de/arcsde&quot;
xmlns:topp="http://www.openplans.org/topp&quot;
xmlns:gml="http://www.opengis.net/gml&quot;
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance&quot;
xsi:schemaLocation="http://www.opengis.net/wfs
http://schemas.opengis.net/wfs/1.0.0/WFS-transaction.xsd&quot;&gt;
  <wfs:Insert>
    <ora:KA_KOM_EINL_SDO
fid="KA_KOM_EINL_SDO.nfm-756f8fbf_11ac937f759_-8000">
      <ora:OBJECTID>726</ora:OBJECTID>
      <ora:ABW_ANL_ID>800000059</ora:ABW_ANL_ID>
      <ora:EXT_KA_NR>07000000000-1</ora:EXT_KA_NR>
      <ora:KA_NAME>Entenhausen</ora:KA_NAME>
  
<ora:KA_ZUSATZNAME>Entenhausen</ora:KA_ZUSATZNAME>
      <ora:BETREI_ID>100001832</ora:BETREI_ID>
      <ora:BETREIBER_NAME>TSV
Entenhausen</ora:BETREIBER_NAME>
      <ora:BETREIBER_ANREDE>Donal
Duck</ora:BETREIBER_ANREDE>
  
<ora:BETREIBER_ADRESSAT>Donald</ora:BETREIBER_ADRESSAT>
  
<ora:EINLEITESTELLE_ID>9000</ora:EINLEITESTELLE_ID>
  
<ora:EINLEITESTELLE_BEZ>Bla</ora:EINLEITESTELLE_BEZ>
      <ora:GEMARKG>Entenhausen</ora:GEMARKG>
      <ora:RECHTSWERT>3489186</ora:RECHTSWERT>
      <ora:HOCHWERT>5473595</ora:HOCHWERT>
      <ora:TK25_KARTE>6217</ora:TK25_KARTE>
      <ora:VERSICKERG_JN>nein</ora:VERSICKERG_JN>
      <ora:GEWAE_NR>239628</ora:GEWAE_NR>
  
<ora:GEWAE_HAUPTNAME>Fanggraben</ora:GEWAE_HAUPTNAME>
      <ora:GEWAE_EZG>76.593</ora:GEWAE_EZG>
  
<ora:WASSERKOERPER>DEHE_239628.1</ora:WASSERKOERPER>
  
<ora:MITTL_NIEDRWA_ABFL>74</ora:MITTL_NIEDRWA_ABFL>
      <ora:ERLAUB_BEHOERDE>RP Walt
Disney</ora:ERLAUB_BEHOERDE>
      <ora:RECHTL_AKTUELL>ja</ora:RECHTL_AKTUELL>
      <ora:ERLAUB_ID>100026525</ora:ERLAUB_ID>
  
<ora:LETZTE_ERLAUB_DAT>2000-05-15</ora:LETZTE_ERLAUB_DAT>
      <ora:STAND>2008-03-10</ora:STAND>
      <ora:SHAPE>
        <gml:Point
srsName="http://www.opengis.net/gml/srs/epsg.xml#31467&quot;&gt;
          <gml:coordinates
xmlns:gml="http://www.opengis.net/gml&quot; decimal="." cs="," ts="
">3489186,5473595</gml:coordinates>
        </gml:Point>
      </ora:SHAPE>
    </ora:KA_KOM_EINL_SDO>
  </wfs:Insert>
</wfs:Transaction>

But now i have another problem. As i said the request passes, but now i
got an exception, that the FeatureType is read only:
{http://umwelt.hessen.de/oracle\}KA_KOM_EINL_SDO is read-only.
That's not true. As i told i'm using Oracle 10.2 g as Backend. The
FeatureTypes are stored in so called "tablespaces". If the tablespace is
set read/write a service should be able to write a new feature in the
featureType. I'm logging in as the user dataowner, so that a got all
privileges to read/write. Is there a flag to set in the request or
somewhere else to open the dataset read/write? If not, what else could
be the problem? In the datastore configuration i use the option oracle
to connect to the db (not oci) which is a jdbc-connection i assume?

Best wishes
Albrecht

> I checked it against the schema with the flag ?strict=true
in the URL but with the same effect (i sent it with
http-POST). Does it work only for http-GET requests?

Now this one is interesting. I checked with strict=true with your
request and indeed I get the same response, yet I am sure your
request is not schema compliant because your insert is
GML3 (came out of a WFS 1.1 request) , but the transaction is
using WFS 1.0, so the insert part should be expressed in GML2.

So I guess we have two problems here, one is that validation
is not telling us that the request is invalid even with
schema validation enabled, and the other is in the request
itself.

Can you redo a GetFeature specifying the 1.0.0 version and
use that as a prototype for you insert? And oh, the bbox
of the feature is not necessary while making an insert.

Cheers
Andrea

Albrecht.Weiser@anonymised.com ha scritto:

Hi Andrea,

...

But now i have another problem. As i said the request passes, but now i
got an exception, that the FeatureType is read only:
{http://umwelt.hessen.de/oracle\}KA_KOM_EINL_SDO is read-only.
That's not true. As i told i'm using Oracle 10.2 g as Backend. The
FeatureTypes are stored in so called "tablespaces". If the tablespace is
set read/write a service should be able to write a new feature in the
featureType. I'm logging in as the user dataowner, so that a got all
privileges to read/write. Is there a flag to set in the request or
somewhere else to open the dataset read/write? If not, what else could
be the problem? In the datastore configuration i use the option oracle
to connect to the db (not oci) which is a jdbc-connection i assume?

Usually dbms based tables are read only when they do not have a primary
key because it's impossible to generate a stable feature id for it.
Usually a simple numeric field does the trick

Cheers
Andrea

That's right. When i built a primary key constraint at the object_id of
the featureType it worked!
Thanks a lot
Albrecht

Usually dbms based tables are read only when they do not have
a primary
key because it's impossible to generate a stable feature id for it.
Usually a simple numeric field does the trick

Cheers
Andrea