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 / Sintaxis WLanguage / Instrucciones estructuradas
  • Webservice: ¿Cómo almacenar la respuesta del Webservice?
  • Sintaxis de los Webservice SOAP
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
Ejecuta un proceso solo después de que se haya ejecutado un procedimiento determinado, y continúa ejecutando el código actual mientras espera a que finalice el procedimiento. Este tipo de instrucción se utiliza para:
  • llamar a un Webservice SOAP de forma asíncrona.
  • llamar a un procedimiento Navegador (con un valor de retorno) desde un control Página WEBDEV.
  • llamar a un procedimiento de ventana (con un valor de retorno) desde una página contenida en un control Página WEBDEV.
Ejemplo
trackingSearch is trackSearch
trackingSearchRes is resultTrackSearch
trackingSearch.accountNumber = 99999999
trackingSearch.consigneesCountry = "FR"
trackingSearch.consigneesZipCode = "37100"
trackingSearch.sendersRef = "111111"

APRES trackingSearchRes = TrackingServiceWSService.trackSearch(trackingSearch) DO
IF ErrorOccurred() THEN
Trace("Echec de l'appel au service Web: " + ErrorInfo(errFullDetails))
ELSE
Trace("Webservice correctement exécuté")
END
END
Sintaxis

Llamada asíncrona a un Webservice SOAP Ocultar los detalles

AFTER <Result> = <SOAP Webservice call> DO
      <Code executed if response>
END
<Code executed after SOAP Webservice call>
<AFTER>:
Marca el inicio del bloque de instrucciones.
<Result>:
Resultado de la ejecución del Webservice SOAP.
<SOAP Webservice call>:
Llamada al procedimiento que permite consultar el Webservice SOAP.
<Code executed if response>:
Código ejecutado solo si el Webservice SOAP se ha ejecutado y enviado la respuesta.
<Code executed after SOAP Webservice call>:
Código ejecutado directamente después de la llamada al servicio web SOAP (tanto si el servicio web SOAP ha enviado una respuesta como si no).
<END>:
Marca el final del bloque de instrucciones.
WINDEV

Control Página WEBDEV: Llamar a un procedimiento Navegador de la página con un valor de retorno Ocultar los detalles

AFTER <Result> = <WEBDEV control>.Page.ProdcedureName() DO
<Code executed if response>
END
<Code executed after call to procedure>
<AFTER>:
Marca el inicio del bloque de instrucciones.
<Result>:
Resultado de la ejecución del procedimiento Navegador de la página (que se muestra en el control Página WEBDEV).
<<WEBDEV Page control>.Page.ProcedureName()>:
Llamada al procedimiento asociado al control Página WEBDEV.
<Code executed if response>:
Código ejecutado solo si el procedimiento se ha ejecutado y enviado la respuesta.
<Code executed after call to procedure>:
Código ejecutado directamente después de la llamada al procedimiento (tanto si el procedimiento envía una respuesta como si no).
<END>:
Marca el final del bloque de instrucciones.
WEBDEV - Código Servidor

Control Página WEBDEV: Llamar a un procedimiento de ventana (con un valor de retorno) desde una página Ocultar los detalles

AFTER <Result> = MyHostControl.ProdcedureName() DO
<Code executed if response>
END
<Code executed after call to procedure>
<AFTER>:
Marca el inicio del bloque de instrucciones.
<Result>:
Resultado del procedimiento de la ventana que contiene el control Página WEBDEV.
<MyHostControl.ProcedureName()>:
Llamada al procedimiento asociado a la ventana desde la página contenida en el control Página WEBDEV.
<Code executed if response>:
Código ejecutado solo si el procedimiento se ha ejecutado y enviado la respuesta.
<Code executed after call to procedure>:
Código ejecutado directamente después de la llamada al procedimiento (tanto si el procedimiento envía una respuesta como si no).
<END>:
Marca el final del bloque de instrucciones.
Observaciones

Webservice: ¿Cómo almacenar la respuesta del Webservice?

La respuesta del Webservice se puede almacenar en el parámetro <Code executed if response>. Se pueden utilizar varias sintaxis:
  • Declaración del valor de retorno en el bloque AFTER ... DO:
    En este caso, el Webservice devuelve una variable de tipo wsResponse. Para manipular esta variable, debe asignarse explícitamente a la variable utilizada para obtener el resultado del Webservice.
    AFTER x = Websevice_Call() DO
    // here x is a wsResponse, it must be explicitly assigned
    // in a variable used to retrieve the result of the Webservice
    Res is TypeWS = x
    // code executed after the Webservice response
    // .... = Res
    END
    // code executed immediately
  • Declaración del valor de retorno fuera del bloque AFTER ... DO:
    En este caso, la variable de retorno puede manipularse directamente.
    Res is TypeWS
    AFTER Res  = WebseviceNoResponse() DO
    // code executed after the Webservice response
    // .... = Res
    END
    // code executed immediately

Sintaxis de los Webservice SOAP

  • Esta sintaxis solo puede utilizarse para llamar a los Webservice SOAP.
  • El parámetro <Code executed if response> se ejecuta como un procedimiento de tipo Callback una vez que el Webservice se ha ejecutado y enviado una respuesta.
  • Importante: el código ejecutado después de la llamada al Webservice SOAP (después de la palabra clave END) se ejecuta en el contexto del subproceso de llamada. Si la llamada se realiza en el subproceso principal, la ejecución de una función de espera (ThreadPause, Multitask, EventWait, etc.) provocará un interbloqueo.
  • La variable ErrorOccurred de WLanguage puede utilizarse para manipular posibles errores durante la llamada al Webservice SOAP. Por ejemplo:
    // Calls the SOAP Webservice to verify the VAT number
    AFTER MyResponse = checkVat(sCountry, sVATNum) DO
    // If an error occurred
    IF ErrorOccurred THEN
    ...
    END
    END
Versión mínima requerida
  • Versión 26
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 11/01/2023

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