More specific doc for Apache module, rebuild sample

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1754 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
inoussa 2011-07-22 12:29:38 +00:00
parent b2dce13c21
commit b976ea6730
7 changed files with 152 additions and 81 deletions

View File

@ -1,19 +1,21 @@
<?xml version="1.0"?>
<CONFIG>
<ProjectOptions>
<Version Value="9"/>
<PathDelim Value="\"/>
<Version Value="7"/>
<General>
<Flags>
<LRSInOutputDirectory Value="False"/>
</Flags>
<MainUnit Value="0"/>
<TargetFileExt Value=".exe"/>
<ActiveWindowIndexAtStart Value="0"/>
</General>
<VersionInfo>
<StringTable Comments="" CompanyName="" FileDescription="" FileVersion="0.0.0.0" InternalName="" LegalCopyright="" LegalTrademarks="" OriginalFilename="" ProductName="" ProductVersion=""/>
<StringTable ProductVersion=""/>
</VersionInfo>
<BuildModes Count="1">
<Item1 Name="default" Default="True"/>
</BuildModes>
<PublishOptions>
<Version Value="2"/>
<IgnoreBinaries Value="False"/>
@ -26,28 +28,29 @@
<LaunchingApplication PathPlusParams="/usr/X11R6/bin/xterm -T 'Lazarus Run Output' -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/>
</local>
</RunParams>
<Units Count="57">
<Units Count="61">
<Unit0>
<Filename Value="mod_wst.lpr"/>
<IsPartOfProject Value="True"/>
<UnitName Value="mod_wst"/>
<EditorIndex Value="0"/>
<WindowIndex Value="0"/>
<TopLine Value="46"/>
<CursorPos X="46" Y="59"/>
<UsageCount Value="75"/>
<TopLine Value="1"/>
<CursorPos X="12" Y="12"/>
<UsageCount Value="79"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
</Unit0>
<Unit1>
<Filename Value="wst_apache_binding.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="wst_apache_binding"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="1"/>
<EditorIndex Value="3"/>
<WindowIndex Value="0"/>
<TopLine Value="493"/>
<CursorPos X="60" Y="497"/>
<UsageCount Value="39"/>
<TopLine Value="1"/>
<CursorPos X="1" Y="19"/>
<UsageCount Value="43"/>
<Loaded Value="True"/>
</Unit1>
<Unit2>
@ -60,9 +63,12 @@
<Unit3>
<Filename Value="..\user_service_intf_imp.pas"/>
<UnitName Value="user_service_intf_imp"/>
<TopLine Value="191"/>
<CursorPos X="8" Y="225"/>
<EditorIndex Value="2"/>
<WindowIndex Value="0"/>
<TopLine Value="211"/>
<CursorPos X="72" Y="223"/>
<UsageCount Value="20"/>
<Loaded Value="True"/>
</Unit3>
<Unit4>
<Filename Value="C:\lazarus23_213\fpc\2.1.3\source\packages\base\httpd\httpd-1.3\httpd.pas"/>
@ -408,134 +414,179 @@
<CursorPos X="16" Y="181"/>
<UsageCount Value="11"/>
</Unit56>
<Unit57>
<Filename Value="E:\fpc_dev\packages\fcl-web\src\fpweb.pp"/>
<UnitName Value="fpWeb"/>
<WindowIndex Value="0"/>
<TopLine Value="10"/>
<CursorPos X="40" Y="21"/>
<UsageCount Value="10"/>
</Unit57>
<Unit58>
<Filename Value="E:\lazarus\components\fpweb\weblazideintf.pp"/>
<UnitName Value="WebLazIDEIntf"/>
<WindowIndex Value="0"/>
<TopLine Value="1"/>
<CursorPos X="1" Y="1"/>
<UsageCount Value="10"/>
</Unit58>
<Unit59>
<Filename Value="..\user_service_intf.pas"/>
<UnitName Value="user_service_intf"/>
<EditorIndex Value="1"/>
<WindowIndex Value="0"/>
<TopLine Value="1"/>
<CursorPos X="1" Y="1"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit59>
<Unit60>
<Filename Value="..\user_client_console\user_client_console.pas"/>
<UnitName Value="user_client_console"/>
<EditorIndex Value="4"/>
<WindowIndex Value="0"/>
<TopLine Value="1"/>
<CursorPos X="1" Y="1"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit60>
</Units>
<JumpHistory Count="28" HistoryIndex="27">
<JumpHistory Count="29" HistoryIndex="28">
<Position1>
<Filename Value="wst_apache_binding.pas"/>
<Caret Line="133" Column="41" TopLine="115"/>
<Caret Line="46" Column="25" TopLine="31"/>
</Position1>
<Position2>
<Filename Value="wst_apache_binding.pas"/>
<Caret Line="485" Column="35" TopLine="472"/>
<Filename Value="mod_wst.lpr"/>
<Caret Line="54" Column="32" TopLine="32"/>
</Position2>
<Position3>
<Filename Value="wst_apache_binding.pas"/>
<Caret Line="6" Column="13" TopLine="1"/>
<Caret Line="402" Column="1" TopLine="394"/>
</Position3>
<Position4>
<Filename Value="wst_apache_binding.pas"/>
<Caret Line="485" Column="21" TopLine="472"/>
<Caret Line="2" Column="19" TopLine="1"/>
</Position4>
<Position5>
<Filename Value="wst_apache_binding.pas"/>
<Caret Line="403" Column="86" TopLine="390"/>
<Caret Line="374" Column="7" TopLine="358"/>
</Position5>
<Position6>
<Filename Value="wst_apache_binding.pas"/>
<Caret Line="46" Column="25" TopLine="31"/>
<Caret Line="1" Column="1" TopLine="1"/>
</Position6>
<Position7>
<Filename Value="mod_wst.lpr"/>
<Caret Line="54" Column="32" TopLine="32"/>
<Filename Value="wst_apache_binding.pas"/>
<Caret Line="174" Column="27" TopLine="159"/>
</Position7>
<Position8>
<Filename Value="wst_apache_binding.pas"/>
<Caret Line="402" Column="1" TopLine="394"/>
<Caret Line="374" Column="23" TopLine="359"/>
</Position8>
<Position9>
<Filename Value="wst_apache_binding.pas"/>
<Caret Line="2" Column="19" TopLine="1"/>
<Caret Line="375" Column="23" TopLine="359"/>
</Position9>
<Position10>
<Filename Value="wst_apache_binding.pas"/>
<Caret Line="374" Column="7" TopLine="358"/>
<Caret Line="399" Column="104" TopLine="387"/>
</Position10>
<Position11>
<Filename Value="wst_apache_binding.pas"/>
<Caret Line="1" Column="1" TopLine="1"/>
<Caret Line="17" Column="1" TopLine="16"/>
</Position11>
<Position12>
<Filename Value="wst_apache_binding.pas"/>
<Caret Line="174" Column="27" TopLine="159"/>
<Caret Line="173" Column="27" TopLine="159"/>
</Position12>
<Position13>
<Filename Value="wst_apache_binding.pas"/>
<Caret Line="374" Column="23" TopLine="359"/>
<Caret Line="174" Column="27" TopLine="159"/>
</Position13>
<Position14>
<Filename Value="wst_apache_binding.pas"/>
<Caret Line="375" Column="23" TopLine="359"/>
<Caret Line="373" Column="5" TopLine="359"/>
</Position14>
<Position15>
<Filename Value="wst_apache_binding.pas"/>
<Caret Line="399" Column="104" TopLine="387"/>
<Caret Line="1" Column="1" TopLine="1"/>
</Position15>
<Position16>
<Filename Value="wst_apache_binding.pas"/>
<Caret Line="17" Column="1" TopLine="16"/>
<Caret Line="167" Column="59" TopLine="163"/>
</Position16>
<Position17>
<Filename Value="wst_apache_binding.pas"/>
<Caret Line="173" Column="27" TopLine="159"/>
<Caret Line="4" Column="13" TopLine="1"/>
</Position17>
<Position18>
<Filename Value="wst_apache_binding.pas"/>
<Caret Line="174" Column="27" TopLine="159"/>
<Caret Line="25" Column="22" TopLine="16"/>
</Position18>
<Position19>
<Filename Value="wst_apache_binding.pas"/>
<Caret Line="373" Column="5" TopLine="359"/>
<Caret Line="486" Column="20" TopLine="477"/>
</Position19>
<Position20>
<Filename Value="wst_apache_binding.pas"/>
<Caret Line="1" Column="1" TopLine="1"/>
<Caret Line="93" Column="7" TopLine="92"/>
</Position20>
<Position21>
<Filename Value="wst_apache_binding.pas"/>
<Caret Line="167" Column="59" TopLine="163"/>
<Caret Line="45" Column="15" TopLine="31"/>
</Position21>
<Position22>
<Filename Value="wst_apache_binding.pas"/>
<Caret Line="4" Column="13" TopLine="1"/>
</Position22>
<Position23>
<Filename Value="wst_apache_binding.pas"/>
<Caret Line="25" Column="22" TopLine="16"/>
</Position23>
<Position24>
<Filename Value="wst_apache_binding.pas"/>
<Caret Line="486" Column="20" TopLine="477"/>
</Position24>
<Position25>
<Filename Value="wst_apache_binding.pas"/>
<Caret Line="93" Column="7" TopLine="92"/>
</Position25>
<Position26>
<Filename Value="wst_apache_binding.pas"/>
<Caret Line="45" Column="15" TopLine="31"/>
</Position26>
<Position27>
<Filename Value="mod_wst.lpr"/>
<Caret Line="53" Column="35" TopLine="32"/>
</Position27>
<Position28>
</Position22>
<Position23>
<Filename Value="mod_wst.lpr"/>
<Caret Line="55" Column="8" TopLine="32"/>
</Position23>
<Position24>
<Filename Value="mod_wst.lpr"/>
<Caret Line="65" Column="33" TopLine="44"/>
</Position24>
<Position25>
<Filename Value="mod_wst.lpr"/>
<Caret Line="12" Column="12" TopLine="1"/>
</Position25>
<Position26>
<Filename Value="..\user_service_intf.pas"/>
<Caret Line="293" Column="5" TopLine="270"/>
</Position26>
<Position27>
<Filename Value="..\user_service_intf.pas"/>
<Caret Line="293" Column="5" TopLine="270"/>
</Position27>
<Position28>
<Filename Value="wst_apache_binding.pas"/>
<Caret Line="505" Column="83" TopLine="493"/>
</Position28>
<Position29>
<Filename Value="..\user_client_console\user_client_console.pas"/>
<Caret Line="1" Column="1" TopLine="142"/>
</Position29>
</JumpHistory>
</ProjectOptions>
<CompilerOptions>
<Version Value="8"/>
<Version Value="9"/>
<PathDelim Value="\"/>
<Target>
<Filename Value="mod_wst.so"/>
</Target>
<SearchPaths>
<IncludeFiles Value="..\..\"/>
<OtherUnitFiles Value="..\;..\..\;..\..\wst_rtti_filter\;$(FPCSrcDir)\packages\httpd22\src\;$(FPCSrcDir)\packages\httpd22\src\apr\;$(FPCSrcDir)\packages\httpd22\src\apriconv\;$(FPCSrcDir)\packages\httpd22\src\aprutil\"/>
<IncludeFiles Value="..\.."/>
<OtherUnitFiles Value="..;..\..;..\..\wst_rtti_filter;$(FPCSrcDir)\packages\httpd22\src;$(FPCSrcDir)\packages\httpd22\src\apr;$(FPCSrcDir)\packages\httpd22\src\apriconv;$(FPCSrcDir)\packages\httpd22\src\aprutil"/>
<UnitOutputDirectory Value="obj"/>
<SrcPath Value="$(FPCSrcDir)\packages\httpd22\src\;$(FPCSrcDir)\packages\httpd22\src\apr\;$(FPCSrcDir)\packages\httpd22\src\apriconv\;$(FPCSrcDir)\packages\httpd22\src\aprutil\"/>
<SrcPath Value="$(FPCSrcDir)\packages\httpd22\src;$(FPCSrcDir)\packages\httpd22\src\apr;$(FPCSrcDir)\packages\httpd22\src\apriconv;$(FPCSrcDir)\packages\httpd22\src\aprutil"/>
</SearchPaths>
<Parsing>
<SyntaxOptions>
<UseAnsiStrings Value="False"/>
</SyntaxOptions>
</Parsing>
<Linking>
<Debugging>
<UseLineInfoUnit Value="False"/>

View File

@ -1,7 +1,23 @@
//{$UNDEF WST_DBG}
//{$DEFINE WST_DBG}
(*WST_BROKER enable the service brokering :
(*
Without the broker (WST_BROKER undefined):
Apache must be configured to route requests to wst services
<Location /wst>
SetHandler wst-handler
</Location>
Services can then be invoked through the following addressing schema
http://127.0.0.1:8080/wst/services/UserService
UserService : the target service
wst/services : constant.
============================================================================
WST_BROKER(still experimental !!!) enable the service brokering :
if enabled, this module just forwards the request to the
implementation libraries contained in the WstRootPath path.
WST load these libraries in the local file system folder

View File

@ -16,6 +16,9 @@
<VersionInfo>
<StringTable ProductVersion=""/>
</VersionInfo>
<BuildModes Count="1">
<Item1 Name="default" Default="True"/>
</BuildModes>
<PublishOptions>
<Version Value="2"/>
<IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/>
@ -27,11 +30,6 @@
<LaunchingApplication PathPlusParams="\usr\X11R6\bin\xterm -T 'Lazarus Run Output' -e $(LazarusDir)\tools\runwait.sh $(TargetCmdLine)"/>
</local>
</RunParams>
<RequiredPackages Count="1">
<Item1>
<PackageName Value="wst_core"/>
</Item1>
</RequiredPackages>
<Units Count="2">
<Unit0>
<Filename Value="user_client_console.pas"/>
@ -52,7 +50,7 @@
<Filename Value="user_client_console.exe"/>
</Target>
<SearchPaths>
<OtherUnitFiles Value="..\;..\..\;..\..\fcl-units\fcl-json\src\;$(LazarusDir)\others_package\synapse\"/>
<OtherUnitFiles Value="..;..\..;$(LazarusDir)\others_package\synapse;$(LazarusDir)\others_package\indy-10.2.0.3\fpc"/>
<UnitOutputDirectory Value="obj"/>
</SearchPaths>
<Parsing>

View File

@ -1,3 +1,5 @@
{ $DEFINE USING_APACHE} //So it will adapt the service's address
program user_client_console;
{$mode objfpc}{$H+}
@ -5,8 +7,8 @@ program user_client_console;
uses
Classes, SysUtils, TypInfo, {$IFDEF WINDOWS}ActiveX,{$ENDIF}
user_service_intf_proxy,
same_process_protocol, synapse_tcp_protocol, synapse_http_protocol, library_protocol,
// same_process_protocol, indy_tcp_protocol, indy_http_protocol, library_protocol,
//same_process_protocol, synapse_tcp_protocol, synapse_http_protocol, library_protocol,
same_process_protocol, indy_tcp_protocol, indy_http_protocol, library_protocol,
// same_process_protocol, ics_tcp_protocol, ics_http_protocol, library_protocol,
soap_formatter, binary_formatter, json_formatter,
user_service_intf, xmlrpc_formatter, service_intf;
@ -147,8 +149,12 @@ const ADDRESS_MAP : array[TTransportType] of string = (
//'LIB:FileName=C:\Programmes\D7\etatcivil\partages\wst\samples\library_server\lib_server.dll;target=UserService',
//'TCP:Address=172.16.82.31;Port=1234;target=UserService',
'TCP:Address=127.0.0.1;Port=1234;target=UserService',
//'http:Address=http://127.0.0.1:8888/wst/services/lib_server/UserService'
{$IFDEF USING_APACHE}
'http:Address=http://127.0.0.1:8080/wst/services/UserService'
{$ELSE USING_APACHE}
'http:Address=http://127.0.0.1:8000/services/UserService'
{$ENDIF USING_APACHE}
//'http:Address=http://127.0.0.1:8888/wst/services/lib_server/UserService'
//'http:Address=http://127.0.0.1:8080/cgi-bin/demoservice.cgi/WST/%s/UserService/'
);
FORMAT_MAP : array[TFormatType] of string =( 'binary', 'SOAP', 'xmlrpc', 'json', 'json' );
@ -236,10 +242,10 @@ begin
{$IF DECLARED(SetHeapTraceOutput)}
SetHeapTraceOutput('heaptrace.txt');
{$IFEND}
SYNAPSE_RegisterTCP_Transport();
SYNAPSE_RegisterHTTP_Transport();
// INDY_RegisterTCP_Transport();
// INDY_RegisterHTTP_Transport();
// SYNAPSE_RegisterTCP_Transport();
// SYNAPSE_RegisterHTTP_Transport();
INDY_RegisterTCP_Transport();
INDY_RegisterHTTP_Transport();
// ICS_RegisterTCP_Transport();
// ICS_RegisterHTTP_Transport();
LIB_Register_Transport();

View File

@ -2,7 +2,7 @@
This unit has been produced by ws_helper.
Input unit name : "user_service_intf".
This unit name : "user_service_intf".
Date : "29/01/2010 14:54:18".
Date : "22/07/2011 11:31:59".
}
unit user_service_intf;
{$IFDEF FPC}
@ -68,7 +68,7 @@ type
end;
UserService = interface(IInvokable)
['{2F9B181F-BA33-4148-A2A3-42CB450C43CE}']
['{1A6AE445-B888-41D1-BDC2-C3BE9C8F60D3}']
function GetList():TUserArray;
procedure Add(
const AUser : TUser

View File

@ -2,7 +2,7 @@
This unit has been produced by ws_helper.
Input unit name : "user_service_intf".
This unit name : "user_service_intf_binder".
Date : "29/01/2010 14:54:30".
Date : "22/07/2011 11:31:16".
}
unit user_service_intf_binder;
{$IFDEF FPC} {$mode objfpc}{$H+} {$ENDIF}

View File

@ -2,7 +2,7 @@
This unit has been produced by ws_helper.
Input unit name : "user_service_intf".
This unit name : "user_service_intf_proxy".
Date : "29/01/2010 14:54:18".
Date : "22/07/2011 11:31:59".
}
Unit user_service_intf_proxy;