xsi:nil="true" is ignored in insert request though the schema shows 
nillable="true"
-----------------------------------------------------------------------------------

                 Key: GEOS-3126
                 URL: http://jira.codehaus.org/browse/GEOS-3126
             Project: GeoServer
          Issue Type: Bug
          Components: ArcSDE
    Affects Versions: 1.7.4
         Environment: ArecSDE 9.2 database (Oracle 10g)
            Reporter: Gerhard Sommer
            Assignee: Andrea Aime
            Priority: Minor


I try to insert a feature type with the following request:

<Transaction version="1.0.0" service="WFS" lockAction="ALL" 
xmlns:vienna="http://www.wien.gv.at/ows/wfs/gml"; 
xmlns="http://www.opengis.net/wfs"; xmlns:gml="http://www.opengis.net/gml"; 
xmlns:ogc="http://www.opengis.net/ogc"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
  <Insert>
    <vienna:TEST_TEILFL_F fid="newvienna:TEST_TEILFL_F.9223372036854775807">
...
      <vienna:AEND_DATUM xsi:nil="true"></vienna:AEND_DATUM>
...
    </vienna:TEST_TEILFL_F>
  </Insert>
</Transaction>



and get the following error, though AEND_DATUM (a DateTime field) is nillable 
according to the schema and NULL is allowed for the field in the database:



<ServiceExceptionReport
   version="1.2.0"
   xmlns="http://www.opengis.net/ogc";
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
   xsi:schemaLocation="http://www.opengis.net/ogc 
http://schemas.opengis.net/wfs/1.0.0/OGC-exception.xsd";>
   <ServiceException>
      java.lang.RuntimeException: Parsing failed for AEND_DATUM: 
java.lang.IllegalArgumentException: Failed to parse dateTime  at:
Parsing failed for AEND_DATUM: java.lang.IllegalArgumentException: Failed to 
parse dateTime  at:
Failed to parse dateTime  at:
Details:
org.geoserver.platform.ServiceException: java.lang.RuntimeException: Parsing 
failed for AEND_DATUM: java.lang.IllegalArgumentException: Failed to parse 
dateTime  at:
        at org.geoserver.ows.Dispatcher.exception(Dispatcher.java:1272)
        at 
org.geoserver.ows.Dispatcher.handleRequestInternal(Dispatcher.java:224)
        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:647)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
        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.geoserver.filters.LoggingFilter.doFilter(LoggingFilter.java:73)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at 
org.geoserver.filters.ReverseProxyFilter.doFilter(ReverseProxyFilter.java:163)
        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.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
        at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
        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.Http11AprProcessor.process(Http11AprProcessor.java:835)
        at 
org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:640)
        at 
org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1286)
        at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.RuntimeException: Parsing failed for AEND_DATUM: 
java.lang.IllegalArgumentException: Failed to parse dateTime  at:
        at org.geotools.xml.impl.ParseExecutor.visit(ParseExecutor.java:158)
        at 
org.geotools.xml.impl.BindingWalker$BindingExecutionChain.execute(BindingWalker.java:208)
        at org.geotools.xml.impl.BindingWalker.walk(BindingWalker.java:174)
        at 
org.geotools.xml.impl.ElementHandlerImpl.endElement(ElementHandlerImpl.java:222)
        at 
org.geotools.xml.impl.ParserHandler.endElement(ParserHandler.java:585)
        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.XML11Configuration.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:180)
        at org.geotools.xml.Parser.parse(Parser.java:158)
        at org.geoserver.wfs.xml.v1_0_0.WfsXmlReader.read(WfsXmlReader.java:60)
        at org.geoserver.ows.Dispatcher.parseRequestXML(Dispatcher.java:1148)
        at org.geoserver.ows.Dispatcher.dispatch(Dispatcher.java:438)
        at 
org.geoserver.ows.Dispatcher.handleRequestInternal(Dispatcher.java:209)
        ... 48 more
Caused by: java.lang.IllegalArgumentException: Failed to parse dateTime  at:
        at 
org.geotools.xml.impl.DatatypeConverterImpl.parseDateTime(DatatypeConverterImpl.java:111)
        at 
org.geotools.xs.bindings.XSDateTimeBinding.parse(XSDateTimeBinding.java:99)
        at org.geotools.xml.impl.ParseExecutor.visit(ParseExecutor.java:147)
        ... 66 more

</ServiceException></ServiceExceptionReport>


If I just omit AEND_DATUM, which is also OK because of minOccurs=0, it works.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

------------------------------------------------------------------------------
OpenSolaris 2009.06 is a cutting edge operating system for enterprises 
looking to deploy the next generation of Solaris that includes the latest 
innovations from Sun and the OpenSource community. Download a copy and 
enjoy capabilities such as Networking, Storage and Virtualization. 
Go to: http://p.sf.net/sfu/opensolaris-get
_______________________________________________
Geoserver-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

Reply via email to