Have you checked the serialized message on the wire (ie. the SOAP message, if it is a SOAP web service)?
Is the date correct there or do the error occur when the data is being serialized?
Have you seen the class javax.xml.datatype.XMLGregorianCalendar, which, as far as I know, is more suitable for use with web services? Perhaps giving this class a try can solve your problem.