Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Duplicate
-
current (nightly)
-
None
-
None
Description
Hi,
When the maxInclusive value (which is "-1") for xsd_negativeInteger is given as an input it is serialized/deserialized to some other value and resulted as 18446744073709551615 number . And the same happens when other negative inputs like -2 or -3 are given. The specification says that the ·value space· of negativeInteger is the infinite set
{...,-2,-1}.
Here is the piece of code which demonstrates the problem.
sprintf(endpoint, "%s", url);
XSD_negativeInteger* ws = new XSD_negativeInteger(endpoint);
try
{ result = ws->asNonNillableElement((xsd__negativeInteger)-1); cout << "non-nillable element=" << result << endl; }catch(AxisException& e)
{ cout << "AxisException : " << e.what() << endl; }In the process of serialization/deserialization the minus sign '-' is removed and the value isge chand to 18446744073709551615.
I think this not the correct behaviour. Any comments ?
I will add a test case for this problem soon.
Regards
Manohar
Attachments
Issue Links
- duplicates
-
AXISCPP-788 AXIS C++ allows to set positive values to XSD_negativeInteger type
-
- Closed
-
- is related to
-
AXISCPP-788 AXIS C++ allows to set positive values to XSD_negativeInteger type
-
- Closed
-