Main > Reference Manual > Extension modules > SOAP webservice module
This module implements a multi-threaded SOAP webservice server.
Using the webservice frePPLe can make the plan information on-line accessible to other systems and users, and also receive updated information. In a Service Oriented Architecture (SOA) such data exchanges are used to build composite applications: data from different services is combined to build rich and flexible applications.
Note that the module works with the frePPLe objects loaded memory. It does not persist any data in the database. See the chapter on the architecture to understand the difference.
The module is coded in C++ using the excellent gSOAP toolkit. FrePPLe currently provides only a basic service setup, and doesn't support any of the more advanced gSOAP functionalities, such as HTTPS/SSL, compression, HTTP cookies, SOAP Headers, HTTP basic authentication...
The supported SOAP operations also provide only a limited interface to the frePPLe functionality.
The module enables the following new objects:
- command_webservice is a command to run the web service.
Module configuration
The module support the following configuration parameters:
- port:
The port number used by the webservice.
When left unspecified, the default port number is 6262. - threads:
Specifies the number of worker threads to create to serve requests.
The default value is 10.
Command command_webservice
This command runs the multi-threaded webservice. Since the command will wait forever for incoming connections this command should be called as the latest command in the command sequence.
Field | Type | Description |
verbose | boolean | When enabled the status of the service is echoed during operation. The default is false. |
Example Python code
- Loading the module:
frepple.loadmodule("mod_webservice.so", port=6262, threads=10)
- Running the webservice:
frepple.webservice()