[jira] Created: (CXF-2492) NPE in DatatypeConverter after updating to 2.2.4

View: New views
6 Messages — Rating Filter:   Alert me  

[jira] Created: (CXF-2492) NPE in DatatypeConverter after updating to 2.2.4

by JIRA jira@apache.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

NPE in DatatypeConverter after updating to 2.2.4
------------------------------------------------

                 Key: CXF-2492
                 URL: https://issues.apache.org/jira/browse/CXF-2492
             Project: CXF
          Issue Type: Bug
          Components: JAXB Databinding
    Affects Versions: 2.2.4
         Environment: Java 1.5
            Reporter: Dennis Kieselhorst
            Priority: Blocker


Updated from 2.2.3 to 2.2.4. Now a NullPointer occurs if a nil date is in the soap response:
        <java:DeactivationDate xsi:nil="true" xmlns:java="java:de.testing"/>

Caused by: org.apache.cxf.interceptor.Fault: Unmarshalling Error: java.lang.NullPointerException
        at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:661)
        at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:533)
        at org.apache.cxf.jaxb.io.DataReaderImpl.read(DataReaderImpl.java:128)
        at org.apache.cxf.interceptor.DocLiteralInInterceptor.handleMessage(DocLiteralInInterceptor.java:99)
        at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
        at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:664)
        at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:2160)
        at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:2040)
        at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1965)
        at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66)
        at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:627)
        at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
        at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
        at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:478)
        at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:308)
        at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:260)
        at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
        at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:124)
        ... 79 more
Caused by: javax.xml.bind.UnmarshalException
 - with linked exception:
[javax.xml.bind.UnmarshalException: java.lang.NullPointerException
 - with linked exception:
[com.sun.xml.bind.api.AccessorException: java.lang.NullPointerException]]
        at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.handleStreamException(UnmarshallerImpl.java:425)
        at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:362)
        at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:339)
        at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:646)
        ... 96 more
Caused by: javax.xml.bind.UnmarshalException: java.lang.NullPointerException
 - with linked exception:
[com.sun.xml.bind.api.AccessorException: java.lang.NullPointerException]
        at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.handleEvent(UnmarshallingContext.java:642)
        at com.sun.xml.bind.v2.runtime.unmarshaller.Loader.reportError(Loader.java:254)
        at com.sun.xml.bind.v2.runtime.unmarshaller.Loader.handleGenericException(Loader.java:241)
        at com.sun.xml.bind.v2.runtime.unmarshaller.XsiNilLoader$Single.onNil(XsiNilLoader.java:111)
        at com.sun.xml.bind.v2.runtime.unmarshaller.XsiNilLoader.selectLoader(XsiNilLoader.java:69)
        at com.sun.xml.bind.v2.runtime.unmarshaller.ProxyLoader.startElement(ProxyLoader.java:53)
        at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext._startElement(UnmarshallingContext.java:481)
        at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.startElement(UnmarshallingContext.java:459)
        at com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.handleStartElement(StAXStreamConnector.java:242)
        at com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.bridge(StAXStreamConnector.java:176)
        at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:360)
        ... 98 more
Caused by: javax.xml.bind.UnmarshalException: java.lang.NullPointerException
 - with linked exception:
[com.sun.xml.bind.api.AccessorException: java.lang.NullPointerException]
        ... 109 more
Caused by: com.sun.xml.bind.api.AccessorException: java.lang.NullPointerException
        at com.sun.xml.bind.v2.runtime.reflect.AdaptedAccessor.set(AdaptedAccessor.java:83)
        at com.sun.xml.bind.v2.runtime.unmarshaller.XsiNilLoader$Single.onNil(XsiNilLoader.java:108)
        ... 105 more
Caused by: java.lang.NullPointerException
        at javax.xml.bind.WhiteSpaceProcessor.trim(WhiteSpaceProcessor.java:63)
        at javax.xml.bind.DatatypeConverterImpl._parseDateTime(DatatypeConverterImpl.java:310)
        at javax.xml.bind.DatatypeConverterImpl.parseDateTime(DatatypeConverterImpl.java:306)
        at javax.xml.bind.DatatypeConverter.parseDateTime(DatatypeConverter.java:282)
        at de.ewetel.easynet.core.dao.easytel.soap.stub.manageaccountlink.Adapter1.unmarshal(Adapter1.java:13)
        at de.ewetel.easynet.core.dao.easytel.soap.stub.manageaccountlink.Adapter1.unmarshal(Adapter1.java:7)
        at com.sun.xml.bind.v2.runtime.reflect.AdaptedAccessor.set(AdaptedAccessor.java:81)
        ... 106 more

Binding config:
<jxb:javaType name="java.util.Calendar"
        xmlType="xs:dateTime"
        parseMethod="javax.xml.bind.DatatypeConverter.parseDateTime"
        printMethod="javax.xml.bind.DatatypeConverter.printDateTime" />

Since the jaxb dependencies didn't change, I assume that this is a cxf issue.

--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CXF-2492) NPE in DatatypeConverter after updating to 2.2.4

by JIRA jira@apache.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


    [ https://issues.apache.org/jira/browse/CXF-2492?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12770059#action_12770059 ]

Daniel Kulp commented on CXF-2492:
----------------------------------


Actually, this is probably a JAXB issue, but a change in CXF is exposing it.  

Previously, whenever JAXB encountered any parsing issues, it normally would just set the field to "null" and continue.     We then would get all kinds of "why is my parameter null?" type support questions.   With 2.2.4, we now set an even handler with JAXB to tell it to not ignore parsing errors.    

Most likely, the above was occurring in JAXB with CXF 2.2.3 as well, but JAXB was ignoring it and just setting the field to null.   Mostly just coincidence that that is exactly what it was SUPPOSED to do in that case.     Anyway, you can restore the 2.2.3 behavior by setting a property on the endpoint of:
"set-jaxb-validation-event-handler", "false"

That said, can you create a small reproducible test case?  I can then distill it down into something I can log with JAXB and hopefully get it fixed in a future version of JAXB.


> NPE in DatatypeConverter after updating to 2.2.4
> ------------------------------------------------
>
>                 Key: CXF-2492
>                 URL: https://issues.apache.org/jira/browse/CXF-2492
>             Project: CXF
>          Issue Type: Bug
>          Components: JAXB Databinding
>    Affects Versions: 2.2.4
>         Environment: Java 1.5
>            Reporter: Dennis Kieselhorst
>            Priority: Blocker
>
> Updated from 2.2.3 to 2.2.4. Now a NullPointer occurs if a nil date is in the soap response:
> <java:DeactivationDate xsi:nil="true" xmlns:java="java:de.testing"/>
> Caused by: org.apache.cxf.interceptor.Fault: Unmarshalling Error: java.lang.NullPointerException
>         at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:661)
>         at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:533)
>         at org.apache.cxf.jaxb.io.DataReaderImpl.read(DataReaderImpl.java:128)
>         at org.apache.cxf.interceptor.DocLiteralInInterceptor.handleMessage(DocLiteralInInterceptor.java:99)
>         at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
>         at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:664)
>         at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:2160)
>         at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:2040)
>         at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1965)
>         at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66)
>         at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:627)
>         at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
>         at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
>         at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:478)
>         at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:308)
>         at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:260)
>         at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
>         at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:124)
>         ... 79 more
> Caused by: javax.xml.bind.UnmarshalException
>  - with linked exception:
> [javax.xml.bind.UnmarshalException: java.lang.NullPointerException
>  - with linked exception:
> [com.sun.xml.bind.api.AccessorException: java.lang.NullPointerException]]
>         at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.handleStreamException(UnmarshallerImpl.java:425)
>         at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:362)
>         at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:339)
>         at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:646)
>         ... 96 more
> Caused by: javax.xml.bind.UnmarshalException: java.lang.NullPointerException
>  - with linked exception:
> [com.sun.xml.bind.api.AccessorException: java.lang.NullPointerException]
>         at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.handleEvent(UnmarshallingContext.java:642)
>         at com.sun.xml.bind.v2.runtime.unmarshaller.Loader.reportError(Loader.java:254)
>         at com.sun.xml.bind.v2.runtime.unmarshaller.Loader.handleGenericException(Loader.java:241)
>         at com.sun.xml.bind.v2.runtime.unmarshaller.XsiNilLoader$Single.onNil(XsiNilLoader.java:111)
>         at com.sun.xml.bind.v2.runtime.unmarshaller.XsiNilLoader.selectLoader(XsiNilLoader.java:69)
>         at com.sun.xml.bind.v2.runtime.unmarshaller.ProxyLoader.startElement(ProxyLoader.java:53)
>         at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext._startElement(UnmarshallingContext.java:481)
>         at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.startElement(UnmarshallingContext.java:459)
>         at com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.handleStartElement(StAXStreamConnector.java:242)
>         at com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.bridge(StAXStreamConnector.java:176)
>         at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:360)
>         ... 98 more
> Caused by: javax.xml.bind.UnmarshalException: java.lang.NullPointerException
>  - with linked exception:
> [com.sun.xml.bind.api.AccessorException: java.lang.NullPointerException]
>         ... 109 more
> Caused by: com.sun.xml.bind.api.AccessorException: java.lang.NullPointerException
>         at com.sun.xml.bind.v2.runtime.reflect.AdaptedAccessor.set(AdaptedAccessor.java:83)
>         at com.sun.xml.bind.v2.runtime.unmarshaller.XsiNilLoader$Single.onNil(XsiNilLoader.java:108)
>         ... 105 more
> Caused by: java.lang.NullPointerException
>         at javax.xml.bind.WhiteSpaceProcessor.trim(WhiteSpaceProcessor.java:63)
>         at javax.xml.bind.DatatypeConverterImpl._parseDateTime(DatatypeConverterImpl.java:310)
>         at javax.xml.bind.DatatypeConverterImpl.parseDateTime(DatatypeConverterImpl.java:306)
>         at javax.xml.bind.DatatypeConverter.parseDateTime(DatatypeConverter.java:282)
>         at de.ewetel.easynet.core.dao.easytel.soap.stub.manageaccountlink.Adapter1.unmarshal(Adapter1.java:13)
>         at de.ewetel.easynet.core.dao.easytel.soap.stub.manageaccountlink.Adapter1.unmarshal(Adapter1.java:7)
>         at com.sun.xml.bind.v2.runtime.reflect.AdaptedAccessor.set(AdaptedAccessor.java:81)
>         ... 106 more
> Binding config:
> <jxb:javaType name="java.util.Calendar"
> xmlType="xs:dateTime"
> parseMethod="javax.xml.bind.DatatypeConverter.parseDateTime"
> printMethod="javax.xml.bind.DatatypeConverter.printDateTime" />
> Since the jaxb dependencies didn't change, I assume that this is a cxf issue.

--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CXF-2492) NPE in DatatypeConverter after updating to 2.2.4

by JIRA jira@apache.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


    [ https://issues.apache.org/jira/browse/CXF-2492?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12771053#action_12771053 ]

Daniel Kulp commented on CXF-2492:
----------------------------------



I've logged a JAXB bug:
https://jaxb.dev.java.net/issues/show_bug.cgi?id=707
please feel free to vote for it.

Meanwhile, as another workaround, you could write your own object that has a parseDateTime method that checks if null and returns null, if not, calls to "javax.xml.bind.DatatypeConverter.parseDateTime" yourself.   Configure that in the binding file instead.




> NPE in DatatypeConverter after updating to 2.2.4
> ------------------------------------------------
>
>                 Key: CXF-2492
>                 URL: https://issues.apache.org/jira/browse/CXF-2492
>             Project: CXF
>          Issue Type: Bug
>          Components: JAXB Databinding
>    Affects Versions: 2.2.4
>         Environment: Java 1.5
>            Reporter: Dennis Kieselhorst
>            Priority: Blocker
>
> Updated from 2.2.3 to 2.2.4. Now a NullPointer occurs if a nil date is in the soap response:
> <java:DeactivationDate xsi:nil="true" xmlns:java="java:de.testing"/>
> Caused by: org.apache.cxf.interceptor.Fault: Unmarshalling Error: java.lang.NullPointerException
>         at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:661)
>         at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:533)
>         at org.apache.cxf.jaxb.io.DataReaderImpl.read(DataReaderImpl.java:128)
>         at org.apache.cxf.interceptor.DocLiteralInInterceptor.handleMessage(DocLiteralInInterceptor.java:99)
>         at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
>         at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:664)
>         at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:2160)
>         at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:2040)
>         at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1965)
>         at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66)
>         at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:627)
>         at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
>         at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
>         at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:478)
>         at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:308)
>         at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:260)
>         at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
>         at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:124)
>         ... 79 more
> Caused by: javax.xml.bind.UnmarshalException
>  - with linked exception:
> [javax.xml.bind.UnmarshalException: java.lang.NullPointerException
>  - with linked exception:
> [com.sun.xml.bind.api.AccessorException: java.lang.NullPointerException]]
>         at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.handleStreamException(UnmarshallerImpl.java:425)
>         at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:362)
>         at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:339)
>         at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:646)
>         ... 96 more
> Caused by: javax.xml.bind.UnmarshalException: java.lang.NullPointerException
>  - with linked exception:
> [com.sun.xml.bind.api.AccessorException: java.lang.NullPointerException]
>         at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.handleEvent(UnmarshallingContext.java:642)
>         at com.sun.xml.bind.v2.runtime.unmarshaller.Loader.reportError(Loader.java:254)
>         at com.sun.xml.bind.v2.runtime.unmarshaller.Loader.handleGenericException(Loader.java:241)
>         at com.sun.xml.bind.v2.runtime.unmarshaller.XsiNilLoader$Single.onNil(XsiNilLoader.java:111)
>         at com.sun.xml.bind.v2.runtime.unmarshaller.XsiNilLoader.selectLoader(XsiNilLoader.java:69)
>         at com.sun.xml.bind.v2.runtime.unmarshaller.ProxyLoader.startElement(ProxyLoader.java:53)
>         at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext._startElement(UnmarshallingContext.java:481)
>         at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.startElement(UnmarshallingContext.java:459)
>         at com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.handleStartElement(StAXStreamConnector.java:242)
>         at com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.bridge(StAXStreamConnector.java:176)
>         at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:360)
>         ... 98 more
> Caused by: javax.xml.bind.UnmarshalException: java.lang.NullPointerException
>  - with linked exception:
> [com.sun.xml.bind.api.AccessorException: java.lang.NullPointerException]
>         ... 109 more
> Caused by: com.sun.xml.bind.api.AccessorException: java.lang.NullPointerException
>         at com.sun.xml.bind.v2.runtime.reflect.AdaptedAccessor.set(AdaptedAccessor.java:83)
>         at com.sun.xml.bind.v2.runtime.unmarshaller.XsiNilLoader$Single.onNil(XsiNilLoader.java:108)
>         ... 105 more
> Caused by: java.lang.NullPointerException
>         at javax.xml.bind.WhiteSpaceProcessor.trim(WhiteSpaceProcessor.java:63)
>         at javax.xml.bind.DatatypeConverterImpl._parseDateTime(DatatypeConverterImpl.java:310)
>         at javax.xml.bind.DatatypeConverterImpl.parseDateTime(DatatypeConverterImpl.java:306)
>         at javax.xml.bind.DatatypeConverter.parseDateTime(DatatypeConverter.java:282)
>         at de.ewetel.easynet.core.dao.easytel.soap.stub.manageaccountlink.Adapter1.unmarshal(Adapter1.java:13)
>         at de.ewetel.easynet.core.dao.easytel.soap.stub.manageaccountlink.Adapter1.unmarshal(Adapter1.java:7)
>         at com.sun.xml.bind.v2.runtime.reflect.AdaptedAccessor.set(AdaptedAccessor.java:81)
>         ... 106 more
> Binding config:
> <jxb:javaType name="java.util.Calendar"
> xmlType="xs:dateTime"
> parseMethod="javax.xml.bind.DatatypeConverter.parseDateTime"
> printMethod="javax.xml.bind.DatatypeConverter.printDateTime" />
> Since the jaxb dependencies didn't change, I assume that this is a cxf issue.

--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (CXF-2492) NPE in DatatypeConverter after updating to 2.2.4

by JIRA jira@apache.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


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

Daniel Kulp updated CXF-2492:
-----------------------------

    CXF Fields: [Blocked on External]

> NPE in DatatypeConverter after updating to 2.2.4
> ------------------------------------------------
>
>                 Key: CXF-2492
>                 URL: https://issues.apache.org/jira/browse/CXF-2492
>             Project: CXF
>          Issue Type: Bug
>          Components: JAXB Databinding
>    Affects Versions: 2.2.4
>         Environment: Java 1.5
>            Reporter: Dennis Kieselhorst
>            Priority: Blocker
>
> Updated from 2.2.3 to 2.2.4. Now a NullPointer occurs if a nil date is in the soap response:
> <java:DeactivationDate xsi:nil="true" xmlns:java="java:de.testing"/>
> Caused by: org.apache.cxf.interceptor.Fault: Unmarshalling Error: java.lang.NullPointerException
>         at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:661)
>         at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:533)
>         at org.apache.cxf.jaxb.io.DataReaderImpl.read(DataReaderImpl.java:128)
>         at org.apache.cxf.interceptor.DocLiteralInInterceptor.handleMessage(DocLiteralInInterceptor.java:99)
>         at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
>         at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:664)
>         at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:2160)
>         at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:2040)
>         at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1965)
>         at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66)
>         at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:627)
>         at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
>         at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
>         at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:478)
>         at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:308)
>         at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:260)
>         at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
>         at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:124)
>         ... 79 more
> Caused by: javax.xml.bind.UnmarshalException
>  - with linked exception:
> [javax.xml.bind.UnmarshalException: java.lang.NullPointerException
>  - with linked exception:
> [com.sun.xml.bind.api.AccessorException: java.lang.NullPointerException]]
>         at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.handleStreamException(UnmarshallerImpl.java:425)
>         at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:362)
>         at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:339)
>         at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:646)
>         ... 96 more
> Caused by: javax.xml.bind.UnmarshalException: java.lang.NullPointerException
>  - with linked exception:
> [com.sun.xml.bind.api.AccessorException: java.lang.NullPointerException]
>         at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.handleEvent(UnmarshallingContext.java:642)
>         at com.sun.xml.bind.v2.runtime.unmarshaller.Loader.reportError(Loader.java:254)
>         at com.sun.xml.bind.v2.runtime.unmarshaller.Loader.handleGenericException(Loader.java:241)
>         at com.sun.xml.bind.v2.runtime.unmarshaller.XsiNilLoader$Single.onNil(XsiNilLoader.java:111)
>         at com.sun.xml.bind.v2.runtime.unmarshaller.XsiNilLoader.selectLoader(XsiNilLoader.java:69)
>         at com.sun.xml.bind.v2.runtime.unmarshaller.ProxyLoader.startElement(ProxyLoader.java:53)
>         at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext._startElement(UnmarshallingContext.java:481)
>         at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.startElement(UnmarshallingContext.java:459)
>         at com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.handleStartElement(StAXStreamConnector.java:242)
>         at com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.bridge(StAXStreamConnector.java:176)
>         at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:360)
>         ... 98 more
> Caused by: javax.xml.bind.UnmarshalException: java.lang.NullPointerException
>  - with linked exception:
> [com.sun.xml.bind.api.AccessorException: java.lang.NullPointerException]
>         ... 109 more
> Caused by: com.sun.xml.bind.api.AccessorException: java.lang.NullPointerException
>         at com.sun.xml.bind.v2.runtime.reflect.AdaptedAccessor.set(AdaptedAccessor.java:83)
>         at com.sun.xml.bind.v2.runtime.unmarshaller.XsiNilLoader$Single.onNil(XsiNilLoader.java:108)
>         ... 105 more
> Caused by: java.lang.NullPointerException
>         at javax.xml.bind.WhiteSpaceProcessor.trim(WhiteSpaceProcessor.java:63)
>         at javax.xml.bind.DatatypeConverterImpl._parseDateTime(DatatypeConverterImpl.java:310)
>         at javax.xml.bind.DatatypeConverterImpl.parseDateTime(DatatypeConverterImpl.java:306)
>         at javax.xml.bind.DatatypeConverter.parseDateTime(DatatypeConverter.java:282)
>         at de.ewetel.easynet.core.dao.easytel.soap.stub.manageaccountlink.Adapter1.unmarshal(Adapter1.java:13)
>         at de.ewetel.easynet.core.dao.easytel.soap.stub.manageaccountlink.Adapter1.unmarshal(Adapter1.java:7)
>         at com.sun.xml.bind.v2.runtime.reflect.AdaptedAccessor.set(AdaptedAccessor.java:81)
>         ... 106 more
> Binding config:
> <jxb:javaType name="java.util.Calendar"
> xmlType="xs:dateTime"
> parseMethod="javax.xml.bind.DatatypeConverter.parseDateTime"
> printMethod="javax.xml.bind.DatatypeConverter.printDateTime" />
> Since the jaxb dependencies didn't change, I assume that this is a cxf issue.

--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CXF-2492) NPE in DatatypeConverter after updating to 2.2.4

by JIRA jira@apache.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


    [ https://issues.apache.org/jira/browse/CXF-2492?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12771370#action_12771370 ]

Dennis Kieselhorst commented on CXF-2492:
-----------------------------------------

Thanks I voted for the issue yesterday. It has been marked as fixed today.

It's hard for me to create a small test case as I need code generation from the wsdl with a custom binding and then unmarshal a soap message with the generated code. I will use the latest jaxb snapshot and verify if the problem is resolved.

> NPE in DatatypeConverter after updating to 2.2.4
> ------------------------------------------------
>
>                 Key: CXF-2492
>                 URL: https://issues.apache.org/jira/browse/CXF-2492
>             Project: CXF
>          Issue Type: Bug
>          Components: JAXB Databinding
>    Affects Versions: 2.2.4
>         Environment: Java 1.5
>            Reporter: Dennis Kieselhorst
>            Priority: Blocker
>
> Updated from 2.2.3 to 2.2.4. Now a NullPointer occurs if a nil date is in the soap response:
> <java:DeactivationDate xsi:nil="true" xmlns:java="java:de.testing"/>
> Caused by: org.apache.cxf.interceptor.Fault: Unmarshalling Error: java.lang.NullPointerException
>         at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:661)
>         at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:533)
>         at org.apache.cxf.jaxb.io.DataReaderImpl.read(DataReaderImpl.java:128)
>         at org.apache.cxf.interceptor.DocLiteralInInterceptor.handleMessage(DocLiteralInInterceptor.java:99)
>         at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
>         at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:664)
>         at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:2160)
>         at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:2040)
>         at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1965)
>         at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66)
>         at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:627)
>         at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
>         at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
>         at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:478)
>         at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:308)
>         at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:260)
>         at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
>         at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:124)
>         ... 79 more
> Caused by: javax.xml.bind.UnmarshalException
>  - with linked exception:
> [javax.xml.bind.UnmarshalException: java.lang.NullPointerException
>  - with linked exception:
> [com.sun.xml.bind.api.AccessorException: java.lang.NullPointerException]]
>         at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.handleStreamException(UnmarshallerImpl.java:425)
>         at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:362)
>         at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:339)
>         at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:646)
>         ... 96 more
> Caused by: javax.xml.bind.UnmarshalException: java.lang.NullPointerException
>  - with linked exception:
> [com.sun.xml.bind.api.AccessorException: java.lang.NullPointerException]
>         at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.handleEvent(UnmarshallingContext.java:642)
>         at com.sun.xml.bind.v2.runtime.unmarshaller.Loader.reportError(Loader.java:254)
>         at com.sun.xml.bind.v2.runtime.unmarshaller.Loader.handleGenericException(Loader.java:241)
>         at com.sun.xml.bind.v2.runtime.unmarshaller.XsiNilLoader$Single.onNil(XsiNilLoader.java:111)
>         at com.sun.xml.bind.v2.runtime.unmarshaller.XsiNilLoader.selectLoader(XsiNilLoader.java:69)
>         at com.sun.xml.bind.v2.runtime.unmarshaller.ProxyLoader.startElement(ProxyLoader.java:53)
>         at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext._startElement(UnmarshallingContext.java:481)
>         at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.startElement(UnmarshallingContext.java:459)
>         at com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.handleStartElement(StAXStreamConnector.java:242)
>         at com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.bridge(StAXStreamConnector.java:176)
>         at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:360)
>         ... 98 more
> Caused by: javax.xml.bind.UnmarshalException: java.lang.NullPointerException
>  - with linked exception:
> [com.sun.xml.bind.api.AccessorException: java.lang.NullPointerException]
>         ... 109 more
> Caused by: com.sun.xml.bind.api.AccessorException: java.lang.NullPointerException
>         at com.sun.xml.bind.v2.runtime.reflect.AdaptedAccessor.set(AdaptedAccessor.java:83)
>         at com.sun.xml.bind.v2.runtime.unmarshaller.XsiNilLoader$Single.onNil(XsiNilLoader.java:108)
>         ... 105 more
> Caused by: java.lang.NullPointerException
>         at javax.xml.bind.WhiteSpaceProcessor.trim(WhiteSpaceProcessor.java:63)
>         at javax.xml.bind.DatatypeConverterImpl._parseDateTime(DatatypeConverterImpl.java:310)
>         at javax.xml.bind.DatatypeConverterImpl.parseDateTime(DatatypeConverterImpl.java:306)
>         at javax.xml.bind.DatatypeConverter.parseDateTime(DatatypeConverter.java:282)
>         at de.ewetel.easynet.core.dao.easytel.soap.stub.manageaccountlink.Adapter1.unmarshal(Adapter1.java:13)
>         at de.ewetel.easynet.core.dao.easytel.soap.stub.manageaccountlink.Adapter1.unmarshal(Adapter1.java:7)
>         at com.sun.xml.bind.v2.runtime.reflect.AdaptedAccessor.set(AdaptedAccessor.java:81)
>         ... 106 more
> Binding config:
> <jxb:javaType name="java.util.Calendar"
> xmlType="xs:dateTime"
> parseMethod="javax.xml.bind.DatatypeConverter.parseDateTime"
> printMethod="javax.xml.bind.DatatypeConverter.printDateTime" />
> Since the jaxb dependencies didn't change, I assume that this is a cxf issue.

--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (CXF-2492) NPE in DatatypeConverter after updating to 2.2.4

by JIRA jira@apache.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


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

Daniel Kulp updated CXF-2492:
-----------------------------

    Priority: Critical  (was: Blocker)


Slightly reducing priority since it's a jaxb bug and workarounds do exist.

> NPE in DatatypeConverter after updating to 2.2.4
> ------------------------------------------------
>
>                 Key: CXF-2492
>                 URL: https://issues.apache.org/jira/browse/CXF-2492
>             Project: CXF
>          Issue Type: Bug
>          Components: JAXB Databinding
>    Affects Versions: 2.2.4
>         Environment: Java 1.5
>            Reporter: Dennis Kieselhorst
>            Priority: Critical
>
> Updated from 2.2.3 to 2.2.4. Now a NullPointer occurs if a nil date is in the soap response:
> <java:DeactivationDate xsi:nil="true" xmlns:java="java:de.testing"/>
> Caused by: org.apache.cxf.interceptor.Fault: Unmarshalling Error: java.lang.NullPointerException
>         at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:661)
>         at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:533)
>         at org.apache.cxf.jaxb.io.DataReaderImpl.read(DataReaderImpl.java:128)
>         at org.apache.cxf.interceptor.DocLiteralInInterceptor.handleMessage(DocLiteralInInterceptor.java:99)
>         at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
>         at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:664)
>         at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:2160)
>         at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:2040)
>         at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1965)
>         at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66)
>         at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:627)
>         at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
>         at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
>         at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:478)
>         at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:308)
>         at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:260)
>         at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
>         at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:124)
>         ... 79 more
> Caused by: javax.xml.bind.UnmarshalException
>  - with linked exception:
> [javax.xml.bind.UnmarshalException: java.lang.NullPointerException
>  - with linked exception:
> [com.sun.xml.bind.api.AccessorException: java.lang.NullPointerException]]
>         at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.handleStreamException(UnmarshallerImpl.java:425)
>         at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:362)
>         at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:339)
>         at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:646)
>         ... 96 more
> Caused by: javax.xml.bind.UnmarshalException: java.lang.NullPointerException
>  - with linked exception:
> [com.sun.xml.bind.api.AccessorException: java.lang.NullPointerException]
>         at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.handleEvent(UnmarshallingContext.java:642)
>         at com.sun.xml.bind.v2.runtime.unmarshaller.Loader.reportError(Loader.java:254)
>         at com.sun.xml.bind.v2.runtime.unmarshaller.Loader.handleGenericException(Loader.java:241)
>         at com.sun.xml.bind.v2.runtime.unmarshaller.XsiNilLoader$Single.onNil(XsiNilLoader.java:111)
>         at com.sun.xml.bind.v2.runtime.unmarshaller.XsiNilLoader.selectLoader(XsiNilLoader.java:69)
>         at com.sun.xml.bind.v2.runtime.unmarshaller.ProxyLoader.startElement(ProxyLoader.java:53)
>         at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext._startElement(UnmarshallingContext.java:481)
>         at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.startElement(UnmarshallingContext.java:459)
>         at com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.handleStartElement(StAXStreamConnector.java:242)
>         at com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.bridge(StAXStreamConnector.java:176)
>         at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:360)
>         ... 98 more
> Caused by: javax.xml.bind.UnmarshalException: java.lang.NullPointerException
>  - with linked exception:
> [com.sun.xml.bind.api.AccessorException: java.lang.NullPointerException]
>         ... 109 more
> Caused by: com.sun.xml.bind.api.AccessorException: java.lang.NullPointerException
>         at com.sun.xml.bind.v2.runtime.reflect.AdaptedAccessor.set(AdaptedAccessor.java:83)
>         at com.sun.xml.bind.v2.runtime.unmarshaller.XsiNilLoader$Single.onNil(XsiNilLoader.java:108)
>         ... 105 more
> Caused by: java.lang.NullPointerException
>         at javax.xml.bind.WhiteSpaceProcessor.trim(WhiteSpaceProcessor.java:63)
>         at javax.xml.bind.DatatypeConverterImpl._parseDateTime(DatatypeConverterImpl.java:310)
>         at javax.xml.bind.DatatypeConverterImpl.parseDateTime(DatatypeConverterImpl.java:306)
>         at javax.xml.bind.DatatypeConverter.parseDateTime(DatatypeConverter.java:282)
>         at de.ewetel.easynet.core.dao.easytel.soap.stub.manageaccountlink.Adapter1.unmarshal(Adapter1.java:13)
>         at de.ewetel.easynet.core.dao.easytel.soap.stub.manageaccountlink.Adapter1.unmarshal(Adapter1.java:7)
>         at com.sun.xml.bind.v2.runtime.reflect.AdaptedAccessor.set(AdaptedAccessor.java:81)
>         ... 106 more
> Binding config:
> <jxb:javaType name="java.util.Calendar"
> xmlType="xs:dateTime"
> parseMethod="javax.xml.bind.DatatypeConverter.parseDateTime"
> printMethod="javax.xml.bind.DatatypeConverter.printDateTime" />
> Since the jaxb dependencies didn't change, I assume that this is a cxf issue.

--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.