---
title: "Manejo de errores en servicios web en aplicaciones móviles"
date: "2019-07-10"
categories: 
  - "development"
  - "mobile-development"
  - "software"
tags: 
  - "error-handling"
  - "mobile-apps"
  - "web-services"
description: Este artículo explora las estrategias eficaces para el manejo de errores en servicios web dentro de aplicaciones móviles, utilizando MobileTogether, y detalla métodos para gestionar errores HTTP y mejorar la experiencia del usuario.
---
Status: #blog

Tags:  #error-handling #mobile-apps #web-services

Categories: [development](/blog/es/category/development.md) | [mobile-development](/blog/es/category/mobile-development.md) 
# Manejo de errores en servicios web en aplicaciones móviles

Los teléfonos móviles ponen un mundo de información al alcance de nuestra mano, pero la funcionalidad, incluso de las aplicaciones móviles mejor diseñadas, puede verse afectada por errores en los servicios web que ocurren al comunicarse con servidores externos. La cobertura intermitente de telefonía móvil en zonas remotas también puede afectar el rendimiento de las aplicaciones al buscar datos.

MobileTogether, la.. [Herramienta de desarrollo de aplicaciones móviles multiplataforma que utiliza una metodología de bajo código](https://www.altova.com/es/mobiletogether) de Altova, que incluye funciones que permiten a los desarrolladores gestionar de forma eficiente los errores de los servicios web en aplicaciones móviles, con el objetivo de evitar que los usuarios finales se enfrenten a interrupciones inesperadas en la aplicación o a mensajes de error confusos.

En una publicación anterior, explicamos cómo manejar los errores HTTP en un mapeo de datos en MapForce. Ahora, analizaremos el mismo servicio web en una aplicación móvil y describiremos cómo se manejan los errores en MobileTogether.

![](/blog/images/cbcr_blog_1.jpg)

<!--more-->

El ejemplo de mapeo de datos "AirportStatus" en MapForce toma un código de aeropuerto de 3 letras como entrada y llama a un servicio web proporcionado por la FAA (Administración Federal de Aviación) que devuelve un archivo JSON con el estado del aeropuerto y una descripción de cualquier retraso actual. Una aplicación móvil puede ofrecer al usuario un menú desplegable para seleccionar un aeropuerto, y luego llamar al mismo servicio web para mostrar el resultado, como se muestra aquí en un teléfono Android:

[![Aplicación móvil para consultar el estado del aeropuerto, instalada en un teléfono Android](/blog/images/screenshot-overview-517x1030.png)](screenshot-overview.png)

Los botones en la parte inferior de la aplicación "Estado del Aeropuerto" proporcionan acceso rápido a dos páginas web de la FAA que ofrecen información adicional, pero que no están optimizadas para dispositivos móviles.

Desarrollamos esta aplicación móvil utilizando el diseñador MobileTogether, donde el servicio web se integra como una fuente de datos de la página, basándose en una solicitud de API REST. El cuadro de diálogo de solicitud de la API de MobileTogether es muy similar al de MapForce, con definiciones de los parámetros para el código del aeropuerto y un campo de encabezado para una respuesta JSON:

[![Diálogo de solicitud de la API RESTful de MobileTogether](/blog/images/rest-request-dialog.png)](rest-request-dialog.png)

El flujo de trabajo de la aplicación es muy sencillo: el usuario selecciona un aeropuerto en la lista desplegable, se ejecuta una solicitud GET a través de la API REST, y la pantalla se actualiza. Estas operaciones son realizadas por un grupo de acciones que incluye un mecanismo para el manejo de errores de servicios web en aplicaciones móviles:

![Definición del manejo de errores de servicios web en aplicaciones móviles
](/blog/images/action-group.png)

Si se produce un error HTTP durante la ejecución de esta aplicación, simplemente mostraremos un cuadro de mensaje. Los desarrolladores pueden elegir entre tres opciones para gestionar los errores, en función de los requisitos de cada aplicación:

**Interrumpir el script:** Después de que se produce un error, todas las acciones subsiguientes del grupo de acciones se interrumpen. Esta es la acción predeterminada en caso de que ocurra un error. Para continuar a pesar del error, seleccione la opción "Continuar" o "Lanzar excepción".

**Continuar:** Las acciones no se interrumpen. En cambio, el desarrollador puede definir dos rutas y seleccionar cuál ejecutar cuando no hay errores (Éxito), o cuando sí los hay (Error).

**Lanzar:** Si se detecta un error, esta opción genera una excepción que se almacena en la variable de la acción Try/Catch. La parte "Catch" de la acción Try/Catch se utiliza para especificar qué acción se debe realizar si se produce un error. Si no se produce ningún error, se procesa la siguiente acción. La ayuda en línea de MobileTogether Designer incluye una descripción detallada de Try/Catch. También hemos descrito Try/Catch en [una publicación anterior del blog](https://www.altova.com/blog/advanced-error-handling-actions-mobile-apps/).

### Controlar la visualización de la información en la aplicación

La interfaz de la aplicación se define como una serie de tablas, como se puede observar aquí en esta vista parcial de la ventana de diseño de la página MobileTogether:

![Diseño y control del diseño de texto en la ventana de diseño de páginas de MobileTogether](/blog/images/display-definition.png)

La lista desplegable para seleccionar el aeropuerto se encuentra en la parte superior de la imagen, y proporciona una descripción de las acciones de control que se ejecutarán al realizar una selección. Esta es la acción que desencadena el grupo de acciones.

[![Añadir una acción a un control en MobileTogether](/blog/images/display-definition-2.png)](display-definition-2.png)

![Acción que se ejecuta cuando el usuario selecciona una opción en la lista desplegable](/blog/images/execute-actions.png)

Las propiedades de visibilidad de cada elemento permiten personalizar la visualización en función de los datos que se obtienen de la solicitud.

### Pruebas del manejo de errores en servicios web en aplicaciones móviles

En nuestra publicación anterior sobre el manejo de errores en MapForce, configuramos un mapeo alternativo para pruebas de errores, donde podíamos devolver explícitamente diferentes errores y analizar los resultados. Resulta que podemos forzar al servicio web de la FAA a devolver un error enviando una cadena de texto vacía en lugar de un código de aeropuerto válido. La última opción en la lista del menú desplegable envía la cadena de texto vacía y fuerza el error, como se puede ver aquí en la versión de la aplicación para iPhone en orientación horizontal:

[![Manejo de errores en servicios web en aplicaciones móviles](/blog/images/forced-error-1030x476.png)](blob:https://www.altova.com/314bd398-fea4-458f-ab24-14156cfd341f)

El usuario puede entonces hacer clic en el botón "Aceptar" para cerrar el mensaje y, a continuación, verificar el estado de otro aeropuerto

[![Aplicación móvil "Estado del aeropuerto" tal como se muestra en un iPhone](/blog/images/airport-delay-1-617x1030.png)](airport-delay-1.png)

Si es nuevo en MobileTogether, consulte estos [otros ejemplos y demostraciones en video](https://www.altova.com/es/mobiletogether/demos) para una introducción. O, puede empezar directamente y comenzar a desarrollar su propio sistema de manejo de errores para servicios web en aplicaciones móviles descargando el [MobileTogether Designer, que es de uso gratuito](https://www.altova.com/es/mobiletogether/download).
