Вы не можете перегружать веб-метод. Когда вы думаете об этом, это имеет смысл, потому что веб-метод не рассчитан на использование базовых технологий, таких как ОО-языки, поскольку теоретически он может работать в таких вещах, как COBOL.
Хотя вы можете написать веб-метод, который выглядит как перегруженный, вам на самом деле нужно присвоить ему другое имя, например:
[WebMethod]
public void Add(int x, int y)
{
}
[WebMethod(MessageName="AddFloat")]
public void Add(float x, float y)
{
}