The WSDL file I used to create the CXF client has this element definition:
<xsd:element name="Rate"> 
  <xsd:simpleType>
    <xsd:restriction base="xsd:decimal">
      <xsd:totalDigits value="18" />
      <xsd:fractionDigits value="2" />
    </xsd:restriction>
  </xsd:simpleType>
</xsd:element>
However when I try to send the SOAP message, number of digits in after decimal point exceeds the maximum value. For example I get 2.48862 while expecting 2.48. In order to solve this I was planning to implement a XmlAdapter to marshall the values, however I cannot map the element in WSDL to the client because onyl class of XmlAdapter is passed to field decleration as annotation.
@XmlJavaTypeAdapter(CustomXmlAdapter.class)
There seems to be no way to inform the XmlAdapter that field must have 2 digits after decimal point.
The number of fraction digits changes from element to element. I also don't have the access to change the WSDL.
Is there a way to format these elements while observing the number of decimal points specified in the WSDL?