|
|
|
|
|
- Webservice: How to retrieve the web service response?
- Syntax for SOAP web services
Runs a process only after a given procedure has been executed, and continues to execute the current code while waiting for this procedure to end. This type of instruction is used to: - call a SOAP web service asynchronously.
- call a browser procedure (with a return value) from a WEBDEV Page control.
- call a window procedure (with a return value) from a page contained in a WEBDEV Page control.
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
Syntax
Asynchronous call to a SOAP web service Hide the details
AFTER <Result> = <SOAP web service call> DO <Code executed if response> END <Code executed after SOAP web service call>
<AFTER>: Marks the beginning of the statement block. <Result>: Result of the execution of the SOAP web service. <SOAP web service call>: Call to the procedure used to query the SOAP web service. <Code executed if response>: Code executed only if the SOAP web service has been executed and has sent the response. <Code executed after SOAP web service call>: Code executed directly after the call to the SOAP web service (whether or not the SOAP web service sent a response). <END>: Marks the end of the statement block. Remarks Webservice: How to retrieve the web service response? The web service response can be retrieved in <Code executed if response>. Several syntaxes are available: - Declaration of the return value in the block AFTER ... DO:
In this case, the web service returns a wsResponse variable. To be manipulated, this variable must be explicitly assigned to the variable used to retrieve the result of the web service. 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 - Declaration of the return value outside the block AFTER ... DO:
In this case, the return variable can be manipulated directly.
Res is TypeWS AFTER Res = WebseviceNoResponse() DO // code executed after the web service response // .... = Res END // code executed immediately
Syntax for SOAP web services - This syntax can only be used for calling SOAP web services.
- The <Code executed if response> is executed as a Callback procedure once the web service has been executed and has sent a response.
- Important: the code executed after the SOAP web service call (after the END keyword) is executed in the context of the calling thread. If the call is made in the main thread, the execution of a wait function (ThreadPause, Multitask, EventWait, etc.) will cause a deadlock.
- The ErrorOccurred WLanguage variable can be used to handle possible errors during the call to the SOAP web service. For example:
AFTER MyResponse = checkVat(sCountry, sVATNum) DO
IF ErrorOccurred THEN
...
END
END
This page is also available for…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|