[ https://issues.apache.org/jira/browse/AXIS2-3423?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12555974#action_12555974 ]
Rob Decker commented on AXIS2-3423: ----------------------------------- I get an xml dateTime string like this: 2008-01-03T20:08:59.686521Z in an org.apache.axis2.rpc.receivers.RPCMessageReceiver service call. I have a request POJO that gets the dateTime as a java.util.Date which ends up like this: 2008-01-03 15:20:25.521 (the toString method of Date is converting it to local time GMT-5:00). I then pass it back in the response POJO and the conversion gives me this: 2008-01-03T20:20:25.521Z I'm not doing anything with the date, just reading it in and passing it back out. Somewhere an extra 10 minutes or so was added. The exact amount added depends on the time input. > ConverterUtil.convertToDateTime is adding portion of fractions of a second to > time as milliseconds during conversion > -------------------------------------------------------------------------------------------------------------------- > > Key: AXIS2-3423 > URL: https://issues.apache.org/jira/browse/AXIS2-3423 > Project: Axis 2.0 (Axis2) > Issue Type: Bug > Components: databinding > Affects Versions: 1.4, nightly > Environment: Java 1.5 > Reporter: Rob Decker > > In org.apache.axis2.databinding.utils.ConverterUtil method convertToDateTime > lines 946 to 955 of the 20071231 nitely build is trying to round the > fractions of a millisecond but is instead parsing out millionths of a second, > stripping the thousands and adding the left over millionths of a second to > time: > if (milliSecondPartLength != 3){ > // milisecond part represenst the fraction of the second so > we have to > // find the fraction and multiply it by 1000. So if > milisecond part > // has three digits nothing required > miliSecond = miliSecond * 1000; > for (int i = 0; i < milliSecondPartLength; i++) { > miliSecond = miliSecond / 10; > } > } > calendar.set(Calendar.MILLISECOND, miliSecond); // <-- this adds > millionths of a second as milliseconds > The loop should be: > double ms = milliSecond * 1000; > for (int =0; i < milliSecondPartLength; i++) { > ms = ms /10; > } > miliSecond = (ms%1)*1000; -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]