I don't believe it's a solenoid issue as the solenoid only triggers the starter motor to turn which you say is occurring. The motor when it comes up to speed throws the pinon gear out by centrifigul force to engage with the flywheel. Several possible issues could be the pinon gear is sticking on the starter motor shaft or the possiblity that the motor is not spinning up to speed. If the pinion gear is sticicking, cleaning and a small amount of lubrication may solve the problem. I would pull the starter and try running it on the bench and see if the gear moves outward as it would to engage the flywheel. Worst case would be to have the starter motor tested. Could also be I suppose a bad cable with high resistance not providing sufficient voltage to the motor. Good luck!