AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

¡Nueva funcionalidad de WINDEV Mobile 2024!
Ayuda / Tutorial WINDEV Mobile / Tutorial - Desarrollar una aplicación Android e iOS
  • Lección 7 - Consumir un servicio web
  • Presentación
  • Ejemplo práctico
  • Importar un servicio web SOAP
  • Consumir un servicio web SOAP
  • Llamar al servicio web
  • Probar el servicio web
  • Consumir un servicio web REST
  • Llamar al servicio web REST
  • Probar la llamada al servicio web REST
  • En resumen

Tutorial - Desarrollar una aplicación Android e iOS

Lección 7 - Consumir un servicio web
Abordaremos los siguientes temas:
  • Presentación.
  • Importar y consumir un servicio web.
  • Consumir un servicio web REST.
Durée de la leçon 10 min
Presentación
En la mayoría de los casos, un servicio web es una aplicación a la que se puede acceder a través de protocolos estándar de Internet. Los servicios Web permiten que varios equipos conectados a través de Internet interactúen entre sí.
A través de los servicios Web, se pueden ejecutar procedimientos y procesos en un servidor Web remoto (.NET, SOAP o J2EE) desde un equipo cliente.
Con WINDEV Mobile, estos servicios Web pueden utilizarse como cliente, a través del protocolo SOAP en HTTP (el protocolo estándar de Internet para la transferencia de páginas HTML) y con las funciones SOAPxx, DotNetxx y J2EExx.
Independientemente de la plataforma del servidor Web (.NET, J2EE, etc.), se puede acceder a un servicio Web mediante el protocolo SOAP.
Con WINDEV Mobile, no es necesario ser un experto.
¡Un asistente se encarga de "casi" todo!

Ejemplo práctico

Un servicio web específico de este tutorial le permitirá probar las diferentes operaciones que se pueden realizar en un servicio web.
Al integrar el servicio web en el proyecto "WM Product Management", se puede consultar una base de datos de proveedores para comprobar si un producto está disponible utilizando su referencia.
Primero, importaremos el servicio web en el proyecto "WM Product Management", y luego lo utilizaremos en la aplicación para comprobar la disponibilidad del producto a través de una ficha de producto.
Advertencia
Esta lección se basa en el ejemplo WM Product Management utilizado en la lección 1. Para seguir esta lección, debe haber completado los pasos de las lecciones anteriores.
Importar un servicio web SOAP
Para importar un servicio web al proyecto:
  1. En la pestaña "Proyecto", en el grupo "Proyecto", despliegue "Importar" y seleccione "Un servicio web".
  2. El asistente de importación se abre automáticamente. Pase a la etapa siguiente.
  3. Especifique la dirección a la que debe importarse la descripción WSDL del servicio web:
    https://examples.webdev.info/WSTUTORIALV2_WEB/awws/WSTutorialV2.awws?wsdl

    Recordatorio: El servicio web permite consultar la base de datos de un proveedor para comprobar las existencias de un producto utilizando la referencia.
    Asistente para importar un servicio web
  4. Pase a la etapa siguiente. El servicio web se ha importado correctamente.
    Importación finalizada
  5. Valide la ventana de información. El servicio web importado se encuentra en la carpeta "Servicios web importados" del panel "Explorador de proyectos".
  6. En el panel "Explorador de proyectos", despliegue la carpeta "Servicios web importados".
Veamos más de cerca los elementos que se muestran en el panel "Explorador de proyectos":
Panel 'Explorador de proyectos'
La estructura contiene:
  • el nombre del servicio web (WSTutorialV2, en este ejemplo),
  • el nombre de cada función (ProductInStock, en este ejemplo).
Para ver la sintaxis de llamada del servicio web, haga doble clic en el nombre de la función en el panel "Explorador de proyectos". El editor de código muestra la descripción de la función, con el prototipo para llamar a la función:
Llamada a la función
Consumir un servicio web SOAP
En nuestro ejemplo "WM Product Management", integraremos la llamada al servicio web en la ventana interna que muestra los detalles del producto. Vamos a crear un botón "Stock" para comprobar la disponibilidad del producto a través del servicio web.

Llamar al servicio web

Para utilizar el servicio web:
  1. Abra la ventana interna "IW_Product" en el editor (haga doble clic en ella en el panel "Explorador de proyectos").
  2. Reduzca el ancho del control "Reorder".
  3. Elimine el control "Quantity".
  4. Agregue un control Botón:
    • En la pestaña "Creación", en el grupo "Controles frecuentes", haga clic en Crear un control Botón.
    • Haga clic en la ventana junto al control "Reorder".
    • El control se crea automáticamente.
  5. Modifique las características del control (seleccione "Descripción" en el menú contextual). Defina "BTN_Stock" como nombre y "Stock" como título.
    Posición del botón 'Stock'
  6. Abra los eventos asociados al control (seleccione "Código" en el menú contextual).
  7. Escriba el siguiente código WLanguage en el evento "Clic en BTN_Stock":
    // Display SOAP web service response
    InfoBuild("Number of ""%1"" products in stock: %2", EDT_Reference, ...
    ProductInStock(EDT_Reference))
    Analicemos este código:
    • Se llama a la función ProductInStock del servicio web. Este código utiliza el prototipo de la función que se mostró anteriormente en el editor de código.
    • La respuesta se muestra en un mensaje.
  8. Cierre el editor de código y guarde la ventana (Guardar ventana o Ctrl + S).
  9. Cierre la ventana interna "IW_Product".

Probar el servicio web

Vamos a probar el servicio web:
  1. Abra la ventana WIN_Advanced_LIST_Products (pulse CTRL + E, por ejemplo).
  2. Pruebe la ventana (haga clic en Probar ventana en los botones de acceso rápido).
  3. Haga doble clic en un producto: la ficha del producto se abre.
  4. Haga clic en "Stock".
    Prueba del servicio web
  5. Valide la ventana de información y cierre el simulador.
Consumir un servicio web REST
En nuestro ejemplo, consumimos un servicio web SOAP. Ahora vamos a consumir un servicio web REST. En este caso, no es necesario importar el servicio web a la aplicación. Solo necesita llamar al procedimiento del servicio web deseado.
En nuestro ejemplo, hemos implementado un servicio web REST que realiza el mismo proceso que el servicio web SOAP utilizado anteriormente. Este servicio web REST puede utilizarse para obtener información sobre las existencias del producto especificado utilizando la siguiente dirección:
https://examples.webdev.info/product/<Product reference>

Llamar al servicio web REST

Veamos cómo utilizar el servicio web REST en nuestro ejemplo.
  1. Vuelva al editor y abra el código del control BTN_Stock.
  2. Defina el código existente como comentario (seleccione las líneas de código y pulse Ctrl + //).
  3. Escriba el siguiente código:
    // Display REST web service response
    h is httpRequest
    h.Method = httpGet
    h.URL = "https://examples.webdev.info/product/" + EDT_Reference
    h.ContentType = "application/json"

    r is httpResponse = RESTSend(h)
    Content is ANSI string

    IF r.StatusCode = 200 THEN // Request successfully completed
    Content = r.Content
    Info(Content)
    ELSE
    Info("An error has occurred " +  ErrorInfo() + r.StatusCode + r.DescriptionStatusCode)
    END
    Este código permite:
    • Declarar una variable de tipo httpRequest. Esta variable define los parámetros de la consulta enviada al servicio web REST. Las propiedades de esta variable son:
      • El método utilizado: GET en este caso.
      • La URL de llamada al servicio web: en este caso, la URL que presentamos anteriormente. En este ejemplo, la referencia del producto corresponde al valor del control EDT_Reference.
      • El tipo de contenido del mensaje HTTP que se enviará al servidor. En este caso, el mensaje está en formato JSON.
    • Enviar la solicitud al servidor y obtener la respuesta utilizando la función RESTSend. La respuesta es una variable de tipo restResponse.
    • Definir el formato de la respuesta.
  4. Cierre el editor de código y guarde la ventana (Guardar ventana o Ctrl + S).

Probar la llamada al servicio web REST

Vamos a probar el servicio web:
  1. Si es necesario, abra la ventana WIN_Advanced_LIST_Products (pulse CTRL + E, por ejemplo).
  2. Pruebe la ventana (haga clic en Probar ventana en los botones de acceso rápido).
  3. Haga doble clic en un producto: la ficha del producto se abre.
  4. Haga clic en "Stock".
  5. Valide la ventana de información y cierre el simulador.
En resumen
Proyecto completado
¿Desea comprobar el resultado final de las etapas descritas en este tutorial? Hay un proyecto completado disponible. Este proyecto contiene las ventanas y los reportes creados y utilizados en esta lección. Para abrir el proyecto completado, vaya a la página de inicio y haga clic en "Tutorial", luego en "Tutorial - Develop an Android/iOS application", haga doble clic en "Android/iOS product management - Answers".
En esta lección, vimos cómo manipular servicios web SOAP y REST.
Hemos terminado el tutorial de desarrollo de aplicaciones móviles.
Para obtener más información sobre WINDEV Mobile, consulte las siguientes páginas de documentación:
También le recomendamos seguir el tutorial sobre cómo implementar una aplicación móvil.
Lección anteriorTabla de contenido
Versión mínima requerida
  • Versión 2024
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 13/12/2023

Señalar un error o enviar una sugerencia | Ayuda local