|
|
|
|
- Webservice: ¿Cómo almacenar la respuesta del Webservice?
- Sintaxis de los Webservice SOAP
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.
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. 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
Esta página también está disponible para…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|