Reading from Slave device using wire library

I think you need to call Wire.endTransmission() before you call Wire.requestFrom().

You don't need to call Wire.endTransmission() after Wire.read().