In this paper, we consider a single-user communication system, where an energy harvesting transmitter communicates with a receiver over a fading wireless channel. We design adaptive transmission policies that adapt to the random energy arrivals at the transmitter and random fluctuations in the channel, in order to maximize the average number of bits transmitted by a finite deadline T. We solve for the optimum transmission scheme using stochastic dynamic programming. This optimal solution does not admit a closed form expression and is computationally expensive. We then propose several suboptimal event based adaptive transmission policies that react to the changes in energy arrivals and fading states. We provide extensive simulation results that compare the performances of the optimal and proposed simpler solutions.