Pavel Coufal created CXF-7359:
---------------------------------

             Summary: Unmarshalling of nil element fail on 
org.apache.cxf.interceptor.Fault: Unmarshalling Error
                 Key: CXF-7359
                 URL: https://issues.apache.org/jira/browse/CXF-7359
             Project: CXF
          Issue Type: Bug
            Reporter: Pavel Coufal


Dear All, I try unmarshall incomming response which contains nil element 
pswExpDate, according the xsd template. 

Unmarshalling progress fail when it trys sett null value to callendar
*Exception:*
{code}
2017-05-03 12:13:14,803 [http-nio-8443-exec-7] WARN  
org.apache.cxf.phase.PhaseInterceptorChain - Interceptor for 
{http://isds.czechpoint.cz/v20}CzeboxDataBoxAccess#{http://isds.czechpoint.cz/v20}GetPasswordInfo
 has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: Unmarshalling Error:  
        at 
org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:905) 
~[cxf-rt-databinding-jaxb-3.1.6.jar:3.1.6]
        at 
org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:712) 
~[cxf-rt-databinding-jaxb-3.1.6.jar:3.1.6]
        at org.apache.cxf.jaxb.io.DataReaderImpl.read(DataReaderImpl.java:179) 
~[cxf-rt-databinding-jaxb-3.1.6.jar:3.1.6]
        at 
org.apache.cxf.wsdl.interceptors.DocLiteralInInterceptor.handleMessage(DocLiteralInInterceptor.java:109)
 ~[cxf-rt-wsdl-3.1.6.jar:3.1.6]
        at 
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)
 [cxf-core-3.1.6.jar:3.1.6]
        at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:798) 
[cxf-core-3.1.6.jar:3.1.6]
        at 
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1670)
 [cxf-rt-transports-http-3.1.6.jar:3.1.6]
        at 
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1551)
 [cxf-rt-transports-http-3.1.6.jar:3.1.6]
        at 
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1348)
 [cxf-rt-transports-http-3.1.6.jar:3.1.6]
        at 
org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56) 
[cxf-core-3.1.6.jar:3.1.6]
        at 
org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:651) 
[cxf-rt-transports-http-3.1.6.jar:3.1.6]
        at 
org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
 [cxf-core-3.1.6.jar:3.1.6]
        at 
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)
 [cxf-core-3.1.6.jar:3.1.6]
        at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:514) 
[cxf-core-3.1.6.jar:3.1.6]
        at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:423) 
[cxf-core-3.1.6.jar:3.1.6]
        at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:324) 
[cxf-core-3.1.6.jar:3.1.6]
        at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:277) 
[cxf-core-3.1.6.jar:3.1.6]
        at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96) 
[cxf-rt-frontend-simple-3.1.6.jar:3.1.6]
        at 
org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:139) 
[cxf-rt-frontend-jaxws-3.1.6.jar:3.1.6]
        at com.sun.proxy.$Proxy750.getPasswordInfo(Unknown Source) [na:na]
...
Caused by: javax.xml.bind.UnmarshalException: null
        at 
com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.handleStreamException(UnmarshallerImpl.java:483)
 ~[jaxb-impl-2.2.11.jar:2.2.11]
        at 
com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:417)
 ~[jaxb-impl-2.2.11.jar:2.2.11]
        at 
com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:394)
 ~[jaxb-impl-2.2.11.jar:2.2.11]
        at 
org.apache.cxf.jaxb.JAXBEncoderDecoder.doUnmarshal(JAXBEncoderDecoder.java:855) 
~[cxf-rt-databinding-jaxb-3.1.6.jar:3.1.6]
        at 
org.apache.cxf.jaxb.JAXBEncoderDecoder.access$100(JAXBEncoderDecoder.java:102) 
~[cxf-rt-databinding-jaxb-3.1.6.jar:3.1.6]
        at 
org.apache.cxf.jaxb.JAXBEncoderDecoder$2.run(JAXBEncoderDecoder.java:894) 
~[cxf-rt-databinding-jaxb-3.1.6.jar:3.1.6]
        at java.security.AccessController.doPrivileged(Native Method) 
~[na:1.8.0_121]
        at 
org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:892) 
~[cxf-rt-databinding-jaxb-3.1.6.jar:3.1.6]
        ... 155 common frames omitted
Caused by: com.sun.istack.SAXParseException2: 
        at 
com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.handleEvent(UnmarshallingContext.java:740)
 ~[jaxb-impl-2.2.11.jar:2.2.11]
        at 
com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.handleError(UnmarshallingContext.java:770)
 ~[jaxb-impl-2.2.11.jar:2.2.11]
        at 
com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.handleError(UnmarshallingContext.java:766)
 ~[jaxb-impl-2.2.11.jar:2.2.11]
        at 
com.sun.xml.bind.v2.model.impl.RuntimeBuiltinLeafInfoImpl$12.parse(RuntimeBuiltinLeafInfoImpl.java:595)
 ~[jaxb-impl-2.2.11.jar:2.2.11]
        at 
com.sun.xml.bind.v2.model.impl.RuntimeBuiltinLeafInfoImpl$12.parse(RuntimeBuiltinLeafInfoImpl.java:568)
 ~[jaxb-impl-2.2.11.jar:2.2.11]
        at 
com.sun.xml.bind.v2.runtime.reflect.TransducedAccessor$CompositeTransducedAccessorImpl.parse(TransducedAccessor.java:245)
 ~[jaxb-impl-2.2.11.jar:2.2.11]
        at 
com.sun.xml.bind.v2.runtime.unmarshaller.LeafPropertyLoader.text(LeafPropertyLoader.java:65)
 ~[jaxb-impl-2.2.11.jar:2.2.11]
        at 
com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.text(UnmarshallingContext.java:589)
 ~[jaxb-impl-2.2.11.jar:2.2.11]
        at 
com.sun.xml.bind.v2.runtime.unmarshaller.InterningXmlVisitor.text(InterningXmlVisitor.java:93)
 ~[jaxb-impl-2.2.11.jar:2.2.11]
        at 
com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.processText(StAXStreamConnector.java:338)
 ~[jaxb-impl-2.2.11.jar:2.2.11]
        at 
com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.handleEndElement(StAXStreamConnector.java:216)
 ~[jaxb-impl-2.2.11.jar:2.2.11]
        at 
com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.bridge(StAXStreamConnector.java:185)
 ~[jaxb-impl-2.2.11.jar:2.2.11]
        at 
com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:415)
 ~[jaxb-impl-2.2.11.jar:2.2.11]
        ... 161 common frames omitted
Caused by: javax.xml.bind.UnmarshalException: 
        ... 174 common frames omitted
Caused by: java.lang.IllegalArgumentException: 
        at 
org.apache.xerces.jaxp.datatype.XMLGregorianCalendarImpl$Parser.parseYear(Unknown
 Source) ~[xercesImpl-2.9.1.jar:na]
        at 
org.apache.xerces.jaxp.datatype.XMLGregorianCalendarImpl$Parser.parse(Unknown 
Source) ~[xercesImpl-2.9.1.jar:na]
        at 
org.apache.xerces.jaxp.datatype.XMLGregorianCalendarImpl.<init>(Unknown Source) 
~[xercesImpl-2.9.1.jar:na]
        at 
org.apache.xerces.jaxp.datatype.DatatypeFactoryImpl.newXMLGregorianCalendar(Unknown
 Source) ~[xercesImpl-2.9.1.jar:na]
        at 
com.sun.xml.bind.v2.model.impl.RuntimeBuiltinLeafInfoImpl$12.parse(RuntimeBuiltinLeafInfoImpl.java:592)
 ~[jaxb-impl-2.2.11.jar:2.2.11]
{code}


*Payload:*
{code}
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"; 
xmlns:xsd="http://www.w3.org/2001/XMLSchema";>
  <SOAP-ENV:Body>
    <p:GetPasswordInfoResponse xmlns:p="http://isds.czechpoint.cz/v20"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
      <p:pswExpDate xsi:nil="true"/>
      <p:dbStatus>
        <p:dbStatusCode>0000</p:dbStatusCode>
        <p:dbStatusMessage>Provedeno úspěšně.</p:dbStatusMessage>
      </p:dbStatus>
    </p:GetPasswordInfoResponse>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
{code}

*XSD chunk*
{code}
  <xs:complexType name="tGetPasswInfoOutput">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="1" name="pswExpDate" nillable="true" 
type="xs:dateTime">
        <xs:annotation>
          <xs:documentation>datum a čas exiprace hesla</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="dbStatus" type="tns:tDbReqStatus" />
    </xs:sequence>
  </xs:complexType>
{code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to