Files
lazarus-ccr/wst/trunk/samples/base64/server/sample.pas

54 lines
1.5 KiB
ObjectPascal
Raw Normal View History

// Activate this "define" to logg the messages to the screen
{ $DEFINE WST_LOGGING_CONSOLE}
// Activate this "define" to logg the messages to the file set in "LogFileCompleteName"
{ $DEFINE WST_LOGGING_FILE}
program sample;
{$mode objfpc}{$H+}
uses
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
Classes, SysUtils,
server_listener, indy_http_server,
server_service_intf, server_service_soap, metadata_service,
{$IFDEF WST_LOGGING_CONSOLE}
logger_extension,
{$ENDIF}
{$IFDEF WST_LOGGING_FILE}
file_logger_extension,
{$ENDIF}
base64sample, base64sample_binder, base64sample_imp;
var
AppObject : TwstListener;
begin
Server_service_RegisterSoapFormat();
RegisterSampleServiceImplementationFactory();
Server_service_RegisterSampleServiceService();
{$IFDEF WST_LOGGING_FILE}
LogFileCompleteName := Format('.%s%s',[PathDelim,'log.txt']);
GetServiceImplementationRegistry().FindFactory('SampleService').RegisterExtension(['TFileLoggerServiceExtension']);
{$ENDIF}
{$IFDEF WST_LOGGING_CONSOLE}
GetServiceImplementationRegistry().FindFactory('SampleService').RegisterExtension(['TLoggerServiceExtension']);
{$ENDIF}
AppObject := TwstIndyHttpListener.Create('');
try
WriteLn('"Web Service Toolkit" HTTP Server sample listening at:');
WriteLn('');
WriteLn('http://127.0.0.1:8000/');
WriteLn('');
WriteLn('Press enter to quit.');
AppObject.Start();
ReadLn();
finally
FreeAndNil(AppObject);
end;
end.