Updated

International superstars Thierry Henry and Robbie Keane highlight the 20-man Major League Soccer All-Star roster, which was announced on Monday.

The roster also includes Tim Cahill of the New York Red Bulls and Marco Di Vaio of the Montreal Impact, while several United States international players also made the cut, including Graham Zusi and Matt Besler of Sporting Kansas City, Omar Gonzalez of the Los Angeles Galaxy and Brad Davis of the Houston Dynamo.

San Jose forward Chris Wondolowski makes his second consecutive All-Star game, while Vancouver's Camilo -- MLS's leading goal scorer after a brace against Chicago on Sunday -- will make his first appearance at the league's showcase game.

With his two selections, commissioner Don Garber named Cahill and Seattle Sounder FC's homegrown defender DeAndre Yedlin to the squad, while Philadelphia Union's young star striker Jack McInerney was left off the roster.

The MLS All-Stars will battle Serie A side Roma on July 31 at Sporting Park.

Below is the full 20-man roster:

Goalkeeper: Raul Fernandez (FC Dallas), Nick Rimando (Real Salt Lake).

Defenders: Corey Ashe (Houston Dynamo), Matt Besler (Sporting Kansas City), Tony Beltran (Real Salt Lake), Aurelien Collin (Sporting Kansas City), Omar Gonzalez (LA Galaxy), DeAndre Yedlin (Seattle Sounders FC).

Midfielders: Kyle Beckerman (Real Salt Lake), Patrice Bernier (Montreal Impact), Tim Cahill (New York Red Bulls), Brad Davis (Houston Dynamo), Will Johnson (Portland Timbers), Mike Magee (Chicago Fire), Graham Zusi (Sporting Kansas City).

Forwards: Marco Di Vaio (Montreal Impact), Thierry Henry (New York Red Bulls), Robbie Keane (LA Galaxy), Camilo Sanvezzo (Vancouver Whitecaps FC), Chris Wondolowski (San Jose Earthquakes).