ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Help / WLanguage / WLanguage syntax / Structured statements
  • Webservice: How to retrieve the Webservice response?
  • Syntax for SOAP Webservices
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Others
Stored procedures
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 Webservice 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.
Example
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 Webservice Hide the details

AFTER <Result> = <SOAP Webservice call> DO
      <Code executed if response>
END
<Code executed after SOAP Webservice call>
<AFTER>:
Marks the beginning of the statement block.
<Result>:
Result of the execution of the SOAP Webservice.
<SOAP Webservice call>:
Call to the procedure used to query the SOAP Webservice.
<Code executed if response>:
Code executed only if the SOAP Webservice has been executed and has sent the response.
<Code executed after SOAP Webservice call>:
Code executed directly after the call to the SOAP webservice (whether or not the SOAP webservice sent a response).
<END>:
Marks the end of the statement block.
WINDEV

WEBDEV Page control: Calling a browser procedure of the page with a return value Hide the details

AFTER <Result> = <WEBDEV control>.Page.ProdcedureName() DO
<Code executed if response>
END
<Code executed after call to procedure>
<AFTER>:
Marks the beginning of the statement block.
<Result>:
Result of the execution of the page browser procedure (displayed in the WEBDEV Page control).
<<WEBDEV Page control>.Page.ProcedureName()>:
Call to the procedure associated with the WEBDEV Page control.
<Code executed if response>:
Code executed only if the procedure has been executed and has sent the response.
<Code executed after call to procedure>:
Code executed directly after the call to the procedure (whether or not the procedure sent a response).
<END>:
Marks the end of the statement block.
WEBDEV - Server code

WEBDEV Page control: Calling a window procedure (with a return value) from a page Hide the details

AFTER <Result> = MyHostControl.ProdcedureName() DO
<Code executed if response>
END
<Code executed after call to procedure>
<AFTER>:
Marks the beginning of the statement block.
<Result>:
Result of the procedure of the window containing the WEBDEV Page control.
<MyHostControl.ProcedureName()>:
Call to the procedure associated with the window from the page contained in the WEBDEV Page control.
<Code executed if response>:
Code executed only if the procedure has been executed and has sent the response.
<Code executed after call to procedure>:
Code executed directly after the call to the procedure (whether or not the procedure sent a response).
<END>:
Marks the end of the statement block.
Remarks

Webservice: How to retrieve the Webservice response?

The Webservice 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 Webservice returns a wsResponse variable. To be manipulated, this variable must be explicitly assigned to the variable used to retrieve the result of the 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
  • 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 Webservice response
    // .... = Res
    END
    // code executed immediately

Syntax for SOAP Webservices

  • This syntax can only be used for calling SOAP Webservices.
  • The <Code executed if response> is executed as a Callback procedure once the Webservice has been executed and has sent a response.
  • Important: the code executed after the SOAP Webservice 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 Webservice. For example:
    // Calls the SOAP Webservice to verify the VAT number
    AFTER MyResponse = checkVat(sCountry, sVATNum) DO
    // If an error occurred
    IF ErrorOccurred THEN
    ...
    END
    END
Minimum version required
  • Version 26
This page is also available for…
Comments
Click [Add] to post a comment

Last update: 01/11/2023

Send a report | Local help