The 39-year-old Haas defeated Roger Federer in Stuttgart a week ago, while teenager Shapovalov, the 2016 boys’ champion at Wimbledon, defeated Kyle Edmund at Queen’s Club and took Tomas Berdych to three sets.
The other wild cards announced went to British players Brydan Klein, Cameron Norrie and James Ward. There are three wild-card spots left in the men's draw.
Willis was also given a wild card for the men's doubles, and could still get one of the singles wild cards left, Otherwise, he would have to come through qualifying again.
"Disappointed is the wrong word," he said, according to The Telegraph. "A wild card is a wild card—no one owes you anything. But I have got my eyes on the main draw."
Willis noted that he was "higher ranked and fitter" than a year ago, when he won seven rounds in pre-qualifying and qualifying and reached the second round against Roger Federer, but added that the competition would be tough.
“There is not much difference between qualifying and the unseeded players in the main draw,” he said.
Women's wild cards went to Naomi Broady, Heather Watson, Laura Robson and Katie Boulter of Britain, and Zarina Diyas of Kazakhstan. That also leaves three wild-card spots in the women's draw.