Palace: Prince William, Kate Middleton to marry April 29 at Westminster Abbey.