It sounds like you both have a lot of letting go and forgiving to do.
Your feelings for someone else seven years ago resulted in consequences, one of which is that your wife had to put up an emotional barrier to protect herself and deal with what I assume she perceived as a betrayal. Whether or not she is ready to let down her guard and forgive you is something she has to work through personally, and there really isn't anything you can do to get her to do that before she feels able to. It sounds like her resistance to letting go and forgiving you is a reaction to your possibly coming off as needy surrounding that. You can't direct her process and, although it seems to you that it has gone on too long, you can choose to be happy now. You don't have to wait until everything is "right" (in your eyes) again.
You can start your own healing process by forgiving yourself, forgiving her for still holding onto her resentment or need to distance herself from you, and letting go of the need you have for your wife to change her stance or process on the situation and be any different than who she is. This is your life right now and you can choose to continue in pain or you can move on in acceptance. You may want to read Radical Acceptance by Tara Brach, there is a thread about it in these forums if you do a search.
Therapy may be very helpful, and I think you should look into it for yourself even if she does not want to. The great thing about self-work and awareness is that when we come to terms with our issues in ourselves, and truly are present instead of living in past hurts, we transform those around us. So, don't give in to the urges you have that your wife needs to change in order for everything to be good between you again. Work on you.
The world opens up... when you do.
Oh, oh, can't you see? Love is the drug for me. ~Bryan Ferry
"Love is that condition in which another person's happiness is essential to your own." ~Robert Heinlein