Yes its legal. Just get the guy to send the money to you (give him your name, and city and country) then he should give you a PIN code. You go to any bank or a western union place, give them the pin and you will get the money
Receiving money through Western Union in India is for personal only. But you can receive the money on your personal name not on company name. Since it is a personal, You could not issue any invoice for your service and the transfering charge should be paid by the sender. So you could not reveal to WU/ WU Dealers that the payment is for business and if ur client accepts to send the money to ur personal name without invoice.