ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Help / WLanguage / WLanguage syntax / Structured statements
  • Webservice: How to retrieve the web service response?
  • Syntax for SOAP web services
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 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.
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 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:
    // Calls the SOAP web service 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: 06/17/2024

Send a report | Local help