Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Not A Problem
-
3.1.6
-
None
-
Unknown
Description
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:
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]
Payload:
<?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>
XSD chunk
<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>