You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Victor-Adrian Ichim (JIRA)" <ji...@apache.org> on 2011/02/08 16:38:57 UTC

[jira] Closed: (CXF-3291) Unmarshalling null value for java.lang.Long generates an empty string exception

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

Victor-Adrian Ichim closed CXF-3291.
------------------------------------


> Unmarshalling null value for java.lang.Long generates an empty string exception
> -------------------------------------------------------------------------------
>
>                 Key: CXF-3291
>                 URL: https://issues.apache.org/jira/browse/CXF-3291
>             Project: CXF
>          Issue Type: Wish
>          Components: JAXB Databinding
>    Affects Versions: 2.3.1
>         Environment: Microsoft Windows 7 Enterprise, jdk1.6.0_23, JBoss 6.0 final which contains 2.3.1 version of CXF. 
> Intel Dual Core, 3GB RAM
>            Reporter: Victor-Adrian Ichim
>             Fix For: Invalid
>
>         Attachments: cxf3291_eclipse_projects.zip
>
>
> java.lang.Long is not unmarshalled (while primitive long works)
> Steps to reproduce:
> 1. Create a RPC-LITERAL web service on a stateless session bean with a single method like this: 
> public ResultDTO compute(FilterDTO filter) 
> FilterDTO must contain a java.lang.Long id; property.
> Annotated FilterDTO with @XmlAccessorType(XmlAccessType.FIELD)
> 2. Generate the wsdl file with org.apache.cxf.tools.java2ws.JavaToWS
> 3. Deploy the ear by including the wsdl file also (wsdlLocation is specified on the bean for @WebService)
> 4. Start the server and use a client to call the method. Having RPC-LITERAL the parameter must be not null in the request.
> So FilterDTO must be instantiated. Do not assign any value to the id field (let it null).
> Result:
> 16:40:36,317 INFO  [STDOUT] DefaultValidationEventHandler: [ERROR]: For input string: ""
> 16:40:36,317 INFO  [STDOUT]      Location: line 1
> 16:40:36,323 WARN  [org.apache.cxf.phase.PhaseInterceptorChain] Interceptor for {http://ws.ro/}ServiceFacadeService#{http://ws.ro/}compute has thrown exception, unwinding now: org.apache.cxf.interceptor.Fault: Unmarshalling Error: For input
>  string: ""
>         at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:787) [:2.3.1]
>         at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:628) [:2.3.1]
>         at org.apache.cxf.jaxb.io.DataReaderImpl.read(DataReaderImpl.java:133) [:2.3.1]
> ........
> Caused by: javax.xml.bind.UnmarshalException
>  - with linked exception:
> [javax.xml.bind.UnmarshalException: For input string: ""
>  - with linked exception:
> [java.lang.NumberFormatException: For input string: ""]]
>         at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.handleStreamException(UnmarshallerImpl.java:425) [:
> 2.2]
>         at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:362) [:2.2]
>         at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:339) [:2.2]
>         at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:764) [:2.3.1]
> Caused by: javax.xml.bind.UnmarshalException: For input string: ""
>  - with linked exception:
> [java.lang.NumberFormatException: For input string: ""]
>         ... 46 more
> Caused by: java.lang.NumberFormatException: For input string: ""
>         at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48) [:1.6.0_23]
>         at java.lang.Long.parseLong(Long.java:431) [:1.6.0_23]
>         at java.lang.Long.valueOf(Long.java:525) [:1.6.0_23]
>         at com.sun.xml.bind.DatatypeConverterImpl._parseLong(DatatypeConverterImpl.java:143) [:2.2]

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira