cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Daniel Kulp (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (CXF-7359) Unmarshalling of a nil element fail on org.apache.cxf.interceptor.Fault: Unmarshalling Error
Date Tue, 01 Aug 2017 19:30:00 GMT

     [ https://issues.apache.org/jira/browse/CXF-7359?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Daniel Kulp resolved CXF-7359.
------------------------------
       Resolution: Not A Problem
    Fix Version/s: Invalid

Not a bug in CXF.   It's a bug in JAXB as we just pass the XML to JAXB and let it deserialize
the XML into objects.  It's apparently handling this case wrong, but there isn't anything
we can do.

> Unmarshalling of a 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
>          Components: JAXB Databinding
>    Affects Versions: 3.1.6
>            Reporter: Pavel Coufal
>             Fix For: Invalid
>
>
> Dear All, I try unmarshall a incomming response which contains a nil element pswExpDate,
according to a xsd template.
> A unmarshalling progress fails when trys to sett null value to a callendar object.
> *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.4.14#64029)

Mime
View raw message