WSRM AckRange's number parsing not tolerating whitespace after CXF 2.4 upgrade
------------------------------------------------------------------------------
Key: CXF-3623
URL: https://issues.apache.org/jira/browse/CXF-3623
Project: CXF
Issue Type: Bug
Components: WS-* Components
Affects Versions: 2.4.1
Reporter: Aki Yoshida
Assignee: Aki Yoshida
Priority: Minor
Fix For: 2.4.2, 2.5
The behavior of the number value parsing in WSRM has been changed in CXF 2.4
and this may lead to an interoperability issue with other implementations.
According to the whitespace handling for atomic types[1], the number types such
as xs:unsignedLong used for AcknowledgementRange's Lower/Upper values should
collapse the leading and trailing whitespace. This behavior is present in CXF
2.3.x, where type xs:unsignedLong is simply bound to its default java type
BigInteger.
In 2.4, this type is bound to Long using the binding file. This is causing any
number value containing a leading or trailing whitespace to be not correctly
read.
I am adding the parseMethod option for the Long type in the biding file as
shown below so that the above mentioned whitespace handling is automatically
provided for the Long type by jaxb:
<jaxb:javaType name="java.lang.Long"
parseMethod="javax.xml.bind.DatatypeConverter.parseLong"
printMethod="javax.xml.bind.DatatypeConverter.printLong"/>
[1] http://www.w3.org/TR/xmlschema-2/#rf-whiteSpace,
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira