|
|
|
|
|
- Webservice: ¿Cómo almacenar la respuesta del servicio web?
- Sintaxis de los servicios web 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 servicio web 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 servicio web SOAP Ocultar los detalles
AFTER <Result> = <SOAP web service call> DO <Code executed if response> END <Code executed after SOAP web service call>
<AFTER>: Marca el inicio del bloque de instrucciones. <Result>: Resultado de la ejecución del servicio web SOAP. <SOAP web service call>: Llamada al procedimiento que permite consultar el servicio web SOAP. <Code executed if response>: Código ejecutado solo si el servicio web SOAP se ha ejecutado y enviado la respuesta. <Code executed after SOAP web service call>: Código ejecutado directamente después de la llamada al servicio web SOAP (independientemente de si el servicio SOAP ha enviado una respuesta o no). <END>: Marca el final del bloque de instrucciones. Observaciones Webservice: ¿Cómo almacenar la respuesta del servicio web? La respuesta del servicio web 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 servicio web devuelve una variable de tipo wsResponse. Para manipular esta variable, debe asignarse explícitamente a la variable utilizada para obtener el resultado del servicio web. 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 web service Res is TypeWS = x // code executed after the web service 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 web service response // .... = Res END // code executed immediately
Sintaxis de los servicios web SOAP - Esta sintaxis solo puede utilizarse para llamar a los servicios web SOAP.
- El parámetro <Code executed if response> se ejecuta como un procedimiento de tipo Callback una vez que el servicio web se ha ejecutado y enviado una respuesta.
- Importante: el código ejecutado después de la llamada al servicio web 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 servicio web SOAP. Por ejemplo:
AFTER MyResponse = checkVat(sCountry, sVATNum) DO
IF ErrorOccurred THEN
...
END
END
Esta página también está disponible para…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|