fgl_ws_server_process() (version 1.3)
Waits for an incoming SOAP request for a given time (in seconds) and then processes the request, or returns, if there has been no request during the given time.
If a DEFER INTERRUPT or DEFER QUIT instruction has been defined, the function returns even if it is an infinite wait.
Note: This function is valid for backwards compatibility,
but is not a preferred way to handle Genero Web Services. See the com package for the preferred classes and methods for handling Web services.
Syntax
fgl_ws_server_process(
timeout INTEGER)
RETURNS INTEGER
- timeout is the maximum waiting time for an incoming request (or -1 for an infinite wait)
Usage
The function can return one of the following values:
- 0 Request has been processed
- -1 Timeout has been reached
- -2 The application server asks the runner to shutdown
- -3 A client connection has been unexpectedly broken
- -4 An interruption has been raised
- -5 The HTTP header of the request was incorrect
- -6 The SOAP envelope was malformed
- -7 The XML document was malformed
Example
MAIN
DEFINE mystatus INTEGER
DEFER INTERRUPT
LET mystatus=fgl_ws_server_process(5)# wait for 5 seconds
IF mystatus=0 THEN
DISPLAY "Request processed."
END IF
IF mystatus=-1 THEN
DISPLAY "No request."
END IF
IF mystatus=-2 THEN # terminate the application properly
EXIT PROGRAM # if connected to application server
END IF
IF mystatus=-3 THEN
DISPLAY "Client connection unexpectedly broken."
END IF
IF mystatus=-4 THEN
DISPLAY "Server process has been interrupted."
END IF
IF mystatus=-5 THEN
DISPLAY "Malformed or bad HTTP request received."
END IF
IF int_flag<>0 THEN
LET int_flag=0
EXIT PROGRAM
END IF
END MAIN