20.1 4GL Web Tools
Mike Aubury has created the following tools to facilite writing both Web Servers and Web Clients in 4GL:
-
4glpc -t WRITE somemod.4gl
-
fglproto -w somemod
-
wsdl2fgl somefile.wsdl
These work with the gSOAP supplied tools (soapcc2 and wsdl2h) to generate 4GL and/or C programs which when linked to the gSOAP library (via the -lgsoap option) will handle all the necessary translation to and from XML of C structures and handle the webservice Remote Procedure Call (RPC) processes.
Note: If you cannot run soapcc2 and wsdl2h, then the 4GL web tools will not work. See the install instructions for gSOAP.
Note: If you cannot run the fglproto program, it may not have been compiled when you installed Aubit4GL. To fix this, you should be able to compile it in the aubit4glsrc source code distribution/CVS by
-
cd compilers/4glc
-
make fglproto
To access a web service from 4GL the short story is:
wdsl2fgl somefile.wsdl # or somefile.h
4glpc -o client.4ae \
<your 4GL files ...>
client.c soapC.c soapClient.c \
-lgsoap
For the longer story read on ...
To create an Aubit4GL program to act as a web service, the short story is
4glpc -t WRITE functions.4gl
4glpc -o functions.o functions.4gl
fglproto -w functions
soapcpp2 -c prototypes.h
4glpc -o server \
soapC.c soapServerLib.c server.c \
functions.o prototypes_server.c \
-lgsoap
Again for the longer story, read on ...