  In this paper we study the dynamics of a soliton in the generalized NLS with
a small external potential $\epsilon V$ of Schwartz class. We prove that there
exists an effective mechanical system describing the dynamics of the soliton
and that, for any positive integer $r$, the energy of such a mechanical system
is almost conserved up to times of order $\epsilon^{-r}$. In the rotational
invariant case we deduce that the true orbit of the soliton remains close to
the mechanical one up to times of order $\epsilon^{-r}$.
