Data de serialização em Java

Estou passando alguns objetos pelo serviço da web e alguns deles contêm java.sql.Date. Porque Data não tem construtor vazio, não quer ser serializado.

A primeira parte de uma pergunta é fácil: qual é a melhor maneira de passar uma data entre o cliente e o serviço?

A segunda parte é um pouco mais complicada: depois que decido como passar datas, obviamente posso declarar data transitória e fazer alguma classe wrapper passar datas como String ou qualquer outra coisa, mas como aplicar a mesma solução da forma mais transparente possível a várias classes que incluem Date ?

(Eu tenho um palpite de que o thingy do DynamicProxy pode ser uma solução, mas ler a documentação no site da Sun não foi muito útil, então se realmente for algo nesse sentido, algum esclarecimento seria apreciado)

Edit: Eu fiz a pergunta errada, desculpe (algum mal-entendido entre mim e colega de trabalho o que é realmente um problema). Problema ocorre devido a desserialização. Então, uma vez que eu tenho data no formato xml, ele tenta desserializar a si mesmo como GregorianCalendar. Outra parte de uma questão ainda permanece: Qual é a melhor maneira de receber algo (timestamp longo ou GregorianCalendar) e convertê-lo em data sql, sem fazer 10 wrappers diferentes para 10 classes diferentes. Estou usando um NetBeans para geração de código e wsdl.

questionAnswers(12)

yourAnswerToTheQuestion