El siguiente fragmento de código ejecuta la llamada al web service autenticar_usuario() y prevé las posibles excepciones SOAP.

   try

   {

       // Envio el id_usuario y id_grupo. En caso de que el

       // id_grupo sea vacio, propone la segunda pantalla

       // del login

       String result = aula.autenticar_usuario(

           txtNombreUsuario.Text,

           CalculateMD5Hash(txtNombreUsuario.Text),

           txtIdGrupo.Text

       );

       MessageBox.Show(result);

   }

   catch (System.Web.Services.Protocols.SoapException ex)

   {

       switch (ex.Code.Name)

       {

           case "Educativa.Aula.Error.UsuarioInexistente":

               MessageBox.Show("El usuario no existe");

               break;


           case "Educativa.Aula.Error.GrupoInexistente":

               MessageBox.Show("El grupo especificado no existe");

               break;


           case "Educativa.Aula.Error.UsuarioInexistenteEnGrupo":

               MessageBox.Show("El usuario no está asignado al grupo");

               break;


           case "Educativa.Aula.Error.UsuarioDesactivo":

               MessageBox.Show("El usuario está desactivado");

               break;

       }

   }

   catch

   {

       // por si otra excepción ocurre (Ej. fallas de conexión)

   }