Embeding a Web Service


Loading the Webservices Server Package

To load the webservices server package, do:

 package require WS::Embedded

This command will only load the server the first time it is used, so it causes no ill effects to put this in each file declaring a service or service procedure.

Specify a Port to Receive Request on

Procedure Name : ::WS::Embeded::Listen

Description : Instruct the module to listen on a Port, security information.

Arguments : this procedure uses position dependent arguments, they are:

     port     -- Port number to listen on.
     certfile -- Name of the certificate file. Defaults to {}.
     keyfile  -- Name of the key file. Defaults to {}.
     userpwds -- A list of username:password. Defaults to {}.
     realm    -- The seucrity realm. Defaults to {}.

Returns : Handle of socket

Side-Effects : None

Exception Conditions :  : None

Pre-requisite Conditions : None

Enter the event queue

To serve any requests, the interpreter must enter the event queue using, for example:

     vwait waitVariable

Stop the server

To stop serving requests, the server socket may be closed. The socket handle was returned by ::WS::Embeded::Listen. Optionally, the event queue may be stopped as follows:

     close $handle
     set waitVariable 1