[
http://jira.codehaus.org/browse/XFIRE-1032?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=182943#action_182943
]
Henri Tremblay commented on XFIRE-1032:
---------------------------------------
Not that I'm aware of. I'm doing this:
{code}
public class BigDecimalTypeFixed
extends org.codehaus.xfire.aegis.type.basic.BigDecimalType
{
public BigDecimalTypeFixed()
{
setTypeClass(BigDecimal.class);
setSchemaType(new QName(SoapConstants.XSD, "decimal",
SoapConstants.XSD_PREFIX));
}
@Override
public void writeObject(final Object object, final MessageWriter writer,
final MessageContext context)
{
writer.writeValue(((BigDecimal) object).toPlainString());
}
}
{code}
> BigDecimalType write erronous numbers when the scale <= -6
> ----------------------------------------------------------
>
> Key: XFIRE-1032
> URL: http://jira.codehaus.org/browse/XFIRE-1032
> Project: XFire
> Issue Type: Bug
> Components: Aegis Module
> Affects Versions: 1.2.6
> Reporter: Henri Tremblay
> Assignee: Dan Diephouse
>
> A toString() on a BigDecimal with a scale of less then -6 will be in
> scientific notation (1.00E+8) which can't be parse in soap (at least on .Net
> ). The fix is to use toPlainString().
> Aside from that, my current workaround is to overload the default
> BigDecimalType with mine. It works well but for that I had to copy & paste
> the XSD_DECIMAL contant in DefaultTypeMappingRegistry. That makes me think it
> can be useful to make these constants public.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email