Today, I discovered that my project was using three different date formats for various services used throughout the enterprise. In the past, our Java SOA just used java.util.Date objects and serialized them through remote calls and everything was fine.

Now, with Web Services, you run into different services that use different date formats. So you're stuck with some String representation. I've seen milliseconds from epoch, dd-MMM-yyyy, yyyyMMdd, dd/MM/yyyy, etc etc. And it varies a little partner by partner.

The W3C actually has a date data type defined in May 2001 Recommendation which looks like yyyy-mm-dd. So my project will be standardizing on the W3C format, but I hope that all the other projects out there will standardize on it too.

Really, the date format can be specified in the service schema, but usually I just see it as a String and it's up to the developer to read through documentation to figure out the appropriate format.