Details
Description
I want to point out a problem regarding xsd:decimal.
I have a datatype, which is a restriction of xsd:decimal with restrictions
<xsd:maxExclusive value="100000"/>
<xsd:fractionDigits value="2"/>
<xsd:minInclusive value="0"/>
There is Java Code (in the generator) for reading/interpreting these restrictions and there is C++ Code (in the axis library code) for handling these restrictions.
But what is completely missing is the intermediate layer, i.e. Java code which generates C++ code for correct initialization of the pertaining struct members.
Therefore in sending xsd:decimals the fractionDigits are always six, which is not suited for e.g. monetary values.
I hacked around this with replacing (in the XSD) xsd:decimal by xsd:double (for xsd:double %g is used instead of %f).
Another hack would be to directly replace (in the library code) %f by %g.