algum atributo da sua classe não é Serializable. Caso não seja necessário que este atributo seja serializado, marque-o como transient. Agora, se for necessário que ele seja serializado, vc terá que escrever os métodos writeObjetct e readObject para customizar a serialização.
Mas o que eu devo fazer com atributos como exemplo:
private List<SelectItem> listaDeUfs = new ArrayList<SelectItem>();
private List<SelectItem> listaDeCidades = new ArrayList<SelectItem>();
@Resource(name="profissionalDAO")
private transient DaoGenerico<Profissional, Integer> profissionalDao;
No primeiro caso por exemplo, Deve ser SelectItem, List ou ArrayList que devem implementar Serializable?
Ou no outro caso, DaoGenerico é uma interface, tentei colocar implements Serializable no DaoGenericoImp mas não deu certo.