Example output
What you can expect to find in the server stub files.
In the generated file ws_calculatorService.inc, the definitions of the
variables for the input and output record are the same as those generated for the Web Service client
application:
#VARIABLE : Add -- defines the global INPUT record
DEFINE Add RECORD ATTRIBUTES(XMLName="Add",
XMLNamespace="http://tempuri.org/")
a INTEGER ATTRIBUTES(XMLName="a",XMLNamespace=""),
b INTEGER ATTRIBUTES(XMLName="b",XMLNamespace="")
END RECORD
# VARIABLE : AddResponse -- defines the global OUTPUT record
DEFINE AddResponse RECORD ATTRIBUTES(XMLName="AddResponse",
XMLNamespace="http://tempuri.org/")
r INTEGER ATTRIBUTES(XMLName="r",XMLNamespace="")
END RECORD
The generated file ws_calculatorService.4gl contains a single function that
creates the Calculator service, creates and publishes the service operations, and registers the
Calculator
service:
FUNCTION Createws_calculatorService()
DEFINE service com.WebService
DEFINE operation com.WebOperation
... # Create Web Service
LET service = com.WebService.CreateWebService("Calculator",
"http://tempuri.org/")
# Publish Operation : Add
LET operation = com.WebOperation.CreateRPCStyle("Add","Add",
Add,AddResponse)
CALL service.publishOperation(operation,"") ...
# Register Service
CALL com.WebServiceEngine.RegisterService(service)
RETURN 0
...
END FUNCTION