Step 5: Start the GWS server and process requests

Code to start the Genero Web Services (GWS) Server.

The GWS Server is located on the same physical machine where the application is being executed (in other words, where fglrun executes).

This is the MAIN program block of your application.

Define a variable for status

Define a variable to hold the returned status of the request:
MAIN
  DEFINE ret INTEGER
Call the function that you created, which defined and registered the service and its operations:
  CALL createservice()

Start the GWS Server

Use the Start class method of the WebServiceEngine class to start the server.
  CALL com.WebServiceEngine.Start()

Process the requests

This example uses the ProcessServices method of the WebServiceEngine class to process each incoming request. It returns an integer representing the status. The parameter specifies the timeout period (in seconds) the method may wait to process a service. The value -1 specifies an infinite waiting time.
  WHILE TRUE
    # Process each incoming requests (infinite loop)
    LET ret = com.WebServiceEngine.ProcessServices(-1)
    CASE ret
      WHEN 0
        DISPLAY "Request processed."
      WHEN -1
        DISPLAY "Timeout reached."
      WHEN -2
        DISPLAY "Disconnected from application server."
        EXIT PROGRAM 
      WHEN -3
        DISPLAY "Client Connection lost."
      WHEN -4
        DISPLAY "Server interrupted with Ctrl-C."
      WHEN -10
        DISPLAY "Internal server error."
        EXIT PROGRAM
      WHEN -15
        DISPLAY "Server was not started."
        EXIT PROGRAM
      OTHERWISE
        DISPLAY "ERROR: ", STATUS, SQLCA.SQLERRM
    END CASE
    IF int_flag<>0 THEN
      LET int_flag=0
      EXIT WHILE
    END IF 
  END WHILE

  DISPLAY "Server stopped"

END MAIN
Note: For testing purposes only, the GWS Server can be started in standalone mode. In a production environment, the Genero Application Server (GAS) is required to manage your application. For deployment, the GWS Server application must be added to the GAS configuration. See the Genero Application Server User Guide.