AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / WLanguage / Funciones WLanguage / Comunicación / Servicios web
  • Presentación
  • ¿Cómo hacer que un servicio web esté disponible?
  • Creando el servicio web
  • Gestión de contextos
  • Generando el servicio web
  • Implementar un servicio web y ejecutar su prueba.
  • Implementación de un servicio web
  • Caso especial: Implementar un servicio web y ejecutar su prueba en la computadora local
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
Presentación
WINDEV y WEBDEV le permiten generar servicios web directamente. Luego, estos servicios web podrán ser utilizados en los proyectos WINDEV, WEBDEV, WINDEV Mobile o en cualquier otro idioma.
Un servicio web incluye un set de funciones SIN interfaz. De hecho, este tipo de módulo que se ejecuta en un servidor, no hay necesidad de desarrollar una interfaz de usuario. Por tanto, el servicio web incluirá funciones WLanguage organizadas en conjuntos de procedimientos.. Estas funciones pueden utilizar una base de datos (HFSQL, Oracle, AS/400, etc.).
Atención: La implementación de un servicio web WINDEV o WEBDEV requiere el uso de un servidor de aplicaciones WEBDEV. A través de este modo de distribución, los servicios web creados con WINDEV/WEBDEV presentan varios tipos de beneficios.:
  • Servicios web desplegados en un servidor de aplicaciones WEBDEV (compatible con todos los servidores web).
  • Varios modos de implementación del servicio web (medios físicos, FTP, Cloud).
  • Es posible una gran carga de trabajo.
  • Servicios web que pueden funcionar en todas las versiones de Windows (32 y 64 bits) así como en Linux.
¿Cómo hacer que un servicio web esté disponible?
Para que un servicio web esté disponible, debe:
  1. Crear un servicio web.
  2. Generar un servicio web.
  3. Implementar el servicio web en un servidor de aplicaciones WEBDEV.
Observación: Para ejecutar la prueba del servicio web, tiene la capacidad de desplegarlo localmente para la prueba.
Creando el servicio web
Para crear un servicio web:
  1. Cree un proyecto WINDEV o WEBDEV cuyo tipo sea un servicio web o una configuración de servicio web en un proyecto existente.
    • Al crear un proyecto, seleccione "servicio web SOAP o REST".
    • Para crear una configuración de proyecto de tipo Servicio web, en la pestaña "Proyecto", en el grupo "Configuración del proyecto", despliegue "Nueva configuración" y seleccione "Servicio web".
  2. Crear uno o varios conjuntos de procedimientos:
    • En el explorador de proyectos, seleccione la carpeta "Procedimientos".
    • Seleccione "Nuevo" en el menú contextual..
  3. Crear los procedimientos globales o las funciones correspondientes a los procesos que deben realizarse en el servidor..
    // Global Addition procedure
    PROCEDURE Addition(nNumber1 is int, nNumber2 is int)

    nResult is int
    nResult = nNumber1 + nNumber2

    RETURN nResult

    Cada Procedure global puede ser ejecutada por el servidor de aplicaciones WEBDEV.

    Observaciones:
    • Si los parámetros de los procedimientos no tienen ningún tipo, serán recibidos automáticamente como cadenas de caracteres Unicode. Por lo tanto, debe especificar el tipo de los parámetros que deben ser diferentes de una cadena de caracteres Unicode.
    • Los procedimientos pueden marcarse como public o private. Se puede utilizar un Procedure público en los proyectos que importarán el servicio web.. Un Procedure privado no se puede utilizar en los proyectos que importarán el servicio web (el Procedure no será Visible 0 en el explorador de proyectos). Para marcar una Procedure como pública o privada, utilice el menú contextual en el nombre de la Procedure en el explorador del proyecto.
    • Los procedimientos pueden devolver clases, estructuras, arrays de estructuras o arrays de clases. Los arrays devueltos se limitan a una dimensión.
    Atención: El servicio web no debe tener GUI (sin ventana, reporte , ventana de salida o cuadro de diálogo). También está limitado por los derechos definidos en el servidor Web (cuenta "INTERNET guest" en Windows).
  4. Escriba (si es necesario) el código de inicialización y el código de cierre del proyecto. Estos dos códigos se ejecutarán respectivamente al cargar y al descargar la biblioteca del servicio web.

Gestión de contextos

Para mantener el valor de las variables globales durante llamadas sucesivas a un servicio web, tiene la posibilidad de utilizar una gestión de contextos.. La gestión de contextos se realiza en disco: el valor de las diferentes variables se almacena en un archivo en el servidor. Se utiliza un identificador de contexto para recuperar el contexto almacenado durante una próxima llamada al servicio web.. Este identificador se almacena en una cabecera SOAP en el ordenador del cliente.. Este identificador garantiza la seguridad de los datos almacenados.
El modo de funcionamiento es el siguiente:
  • El identificador se almacena en una cabecera SOAP. Cuando se utiliza DeclararServicio webContexto, se modifica el WSDL y se indica que el formato acepta una sección de cabecera con un nombre preciso y un formato específico.
  • El cliente transmite esta información.
    • Durante la primera llamada, el valor está vacío, el servidor crea una nueva sesión.
    • Si falta el valor, el servidor crea una nueva sesión.
  • El servidor devuelve la información solicitada.
Poner en práctica una gestión de contextos:
  1. Utilice DeclararServicio webContexto para almacenar las variables deseadas. Se recomienda utilizar esta función en el código de inicialización del proyecto (para las variables del proyecto) y/o en el código de inicialización de conjuntos de procedimientos o clases.. En la mayoría de los casos, esta función debe ser utilizada en la Process donde las variables son declaradas e inicializadas.
    Observaciones:
    • El contexto siempre se guarda en el disco y se transmite a través de una cabecera SOAP..
    • DeclareWebserviceContext usa los contextos en el disco. Los valores de las variables siempre se restauran.
    • El tamaño total de los valores de las diferentes variables no está limitado.
    • La función DeclareWebserviceContext se puede utilizar para los datos confidenciales (contraseña de usuario, por ejemplo).
    • Si se guardan dos variables con el mismo nombre (una en el proyecto y otra en una Page, por ejemplo), las dos variables se guardan independientemente.
    • La función DeclareWebserviceContext devuelve False si no se restauró una de las variables.
    • Todas las variables pasadas a DeclareWebserviceContext durante una llamada a un servicio web se pueden recuperar durante la siguiente llamada.. Las variables pasadas previamente se guardan automáticamente nuevamente.
    • Se admiten variables simples (enteras, cadenas, etc.), así como variables de estructura, clase, array o asociativas array .. Se corrigió arrays , los miembros de clase global y arrays asociativo de estructuras locales no son compatibles.
  2. Para eliminar una Variable específica del contexto, tiene la posibilidad de utilizar CancelarServicio webContexto.
Observación: El administrador WEBDEV le brinda la posibilidad de configurar la duración en cuanto a la validez de los contextos de servicios web ("Duración de los contextos de servicios web" en la pestaña "Configuración"). Tan pronto como se exceda la duración especificada, y si no se ha realizado ninguna nueva solicitud, se elimina el archivo de contexto.
Generando el servicio web
Para generar un servicio web:
  1. Seleccione (si es necesario) la configuración correspondiente al servicio web en el explorador de proyectos.
  2. Generar el servicio web:
    • En la pestaña "Proyecto", en el grupo "Generación", haga clic en "Generar".
    • Haga clic en la generación Icon en los botones de acceso rápido.
  3. Se inicia la generación del servicio web asistente .
  4. En la asistente, especifique:
    • el nombre del servicio web. Por Default , el nombre del servicio web corresponde al nombre del proyecto actual. Puede cambiar el nombre del servicio web (el nombre del proyecto no cambiará).
    • el modo para pasar parámetros a las funciones.
      Observación: Recomendamos que utilice la parametrización directa de las funciones.
  5. Pase a la etapa siguiente.
  6. Seleccionar los elementos que se incluirán en el servicio web. Esto excluye todos los elementos UI (ventana, página, reporte , etc.).
    Verifica los elementos a incluir y los que serán llamados en el servicio web. Tú puedes:
    • Agregar elementos
      Se puede añadir cualquier tipo de archivo a la lista de elementos insertados en la biblioteca.: imágenes, archivos de texto, etc.
    • Eliminar elementos
      Los archivos correspondientes y sus dependencias serán ignorados en la biblioteca.
    • Cree el servicio web a partir de un description existente (archivo *.WDU)
      Al crear una biblioteca WINDEV, se crea automáticamente un archivo ".WDU" con el mismo nombre. Este archivo contiene todas las referencias de los elementos incluidos en la biblioteca.
  7. Pase a la etapa siguiente.
  8. Comprobar los elementos accesibles. Los elementos accesibles corresponden a los procedimientos que contienen funciones Visible por la aplicación cliente que llama al servicio web..

    Atención: Si una set de procedimientos se hace accesible, todos los procedimientos globales pertenecientes a esta set serán accesibles. Se pueden utilizar dos métodos para ocultar algunos procedimientos:
    • incluyen estos procedimientos en una set específica y no hacen accesible esta set.
    • usar la palabra clave PRIVADA para hacer la Procedure inaccesible (sintaxis: PRIVADO Procedure MyProc()). Para obtener más información, consulte Procedimientos globales.
  9. Finalice asistente para generar el servicio web.
  10. La implementación asistente se inicia automáticamente a partir de entonces.
Implementar un servicio web y ejecutar su prueba.

Implementación de un servicio web

Para poder utilizarlo, se debe implementar un servicio web en un servidor de aplicaciones WEBDEV.
Se pueden utilizar varios métodos de implementación:
  • Implementar el servicio web en un servidor de aplicaciones WEBDEV remoto.
  • Implementación del servicio web en CLOUD para aplicaciones PC SOFT.
  • Implementación del servicio web a través del servicio de alojamiento de prueba de PC SOFT.
  • Creando un paquete remoto de implementación.
  • Creando una instalación por medios físicos.
  • Implementación del servicio web en la computadora local.
  • Creando una ventana acoplable de servicio web Image .
Las opciones para implementar un servicio web son idénticas a las opciones para implementar un sitio web WEBDEV.. Para obtener más información, consulte Implementar un sitio.

Caso especial: Implementar un servicio web y ejecutar su prueba en la computadora local

La prueba del servicio web creado se puede ejecutar en la computadora del desarrollador.. Para hacerlo, seleccione "Implementar el servicio web en la computadora local".. Este tipo de instalación está disponible sólo si WEBDEV está disponible en el ordenador de desarrollo. En este caso, el servidor de aplicaciones utilizado es el de WEBDEV.
Al final de la instalación, aparece una pantalla que muestra 2 enlaces:
  • un enlace que indica el Address del test Page del servicio web (http://user-pc/MYWEBSERVICE_WEB/awws/index.htm)
  • un enlace que indica la Address del WSDL (http://user-PC/MYWEBSERVICE_WEB/awws/MyWebservice.awws?wsdl)
Una vez pulsado el enlace o tecleado el Address en su navegador, se muestra un HTML Page: este Page contiene los accesos a todas las funciones desarrolladas en el servicio web así como un enlace al WSDL.. Este Page se crea automáticamente al generar el servicio web, así como todos los Page HTML utilizados para ejecutar la prueba de cada función del servicio web..
En nuestro ejemplo, encontrará el acceso a la función "Suma:
Al hacer clic en una función para probarla, aparece un nuevo Page HTML: Esta Page contiene controles que permiten introducir los parámetros para llamar a la función que se está probando. En este caso, basta con rellenar los controles y hacer clic en "Probar".. A cambio, se mostrará el resultado Page. En nuestro ejemplo, hay que pasar dos números a la función "Suma:
La página de resultados generada será:
El resultado está en formato XML. Los valores de retorno se encapsulan en etiquetas XML. En nuestro ejemplo, el valor de retorno de las funciones "Suma" se incluye en la etiqueta "AdditionResult".
Versión mínima requerida
  • Versión 9
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 10/01/2024

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