diff --git a/Source/ApplicationBase/ApplicationBase.dproj b/Source/ApplicationBase/ApplicationBase.dproj
index 1d99f8e1..bf9464bb 100644
--- a/Source/ApplicationBase/ApplicationBase.dproj
+++ b/Source/ApplicationBase/ApplicationBase.dproj
@@ -60,27 +60,27 @@
MainSource
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Source/ApplicationBase/Usuarios/Data/uUCROConn.pas b/Source/ApplicationBase/Usuarios/Data/uUCROConn.pas
index 2561f3c9..d8cf9119 100644
Binary files a/Source/ApplicationBase/Usuarios/Data/uUCROConn.pas and b/Source/ApplicationBase/Usuarios/Data/uUCROConn.pas differ
diff --git a/Source/Base/Conexion/uConfigurarConexion.dfm b/Source/Base/Conexion/uConfigurarConexion.dfm
index b9e3cb0c..8cbbde8c 100644
--- a/Source/Base/Conexion/uConfigurarConexion.dfm
+++ b/Source/Base/Conexion/uConfigurarConexion.dfm
@@ -14,7 +14,6 @@ object fConfigurarConexion: TfConfigurarConexion
OldCreateOrder = False
Position = poScreenCenter
Scaled = False
- OnCreate = FormCreate
PixelsPerInch = 96
TextHeight = 13
object bProbar: TButton
@@ -90,23 +89,4 @@ object fConfigurarConexion: TfConfigurarConexion
ModalResult = 2
TabOrder = 3
end
- object HTTPChannel: TROWinInetHTTPChannel
- UserAgent = 'AdminPV'
- TargetURL = 'http://localhost:8099/BIN'
- ServerLocators = <>
- DispatchOptions = []
- Left = 120
- Top = 112
- end
- object ROBinMessage: TROBinMessage
- Left = 152
- Top = 112
- end
- object CoService: TRORemoteService
- Message = ROBinMessage
- Channel = HTTPChannel
- ServiceName = 'srvLogin'
- Left = 184
- Top = 112
- end
end
diff --git a/Source/Base/Conexion/uConfigurarConexion.pas b/Source/Base/Conexion/uConfigurarConexion.pas
index d93c9a7e..9c3cd55a 100644
--- a/Source/Base/Conexion/uConfigurarConexion.pas
+++ b/Source/Base/Conexion/uConfigurarConexion.pas
@@ -17,11 +17,7 @@ type
edtPort: TEdit;
bAceptar: TButton;
bCancelar: TButton;
- HTTPChannel: TROWinInetHTTPChannel;
- ROBinMessage: TROBinMessage;
- CoService: TRORemoteService;
procedure bProbarClick(Sender: TObject);
- procedure FormCreate(Sender: TObject);
private
function GetTargetURL: String;
procedure SetTargetURL(const Value: String);
@@ -68,9 +64,4 @@ begin
ShowErrorMessage('Error de conexión', 'No se ha podido establecer la conexión con el servidor.')
end;
-procedure TfConfigurarConexion.FormCreate(Sender: TObject);
-begin
- HTTPChannel.OnFailure := dmConexion.ROChannelFailure;
-end;
-
end.
diff --git a/Source/Base/Conexion/uDataModuleConexion.dfm b/Source/Base/Conexion/uDataModuleConexion.dfm
index 831fe536..8c5d9696 100644
--- a/Source/Base/Conexion/uDataModuleConexion.dfm
+++ b/Source/Base/Conexion/uDataModuleConexion.dfm
@@ -1,23 +1,28 @@
object dmConexion: TdmConexion
OldCreateOrder = False
+ OnCreate = DataModuleCreate
OnDestroy = DataModuleDestroy
Height = 177
- Width = 121
- object ROChannel: TROWinInetHTTPChannel
- OnFailure = ROChannelFailure
- OnException = ROChannelFailure
- UserAgent = 'RemObjects SDK'
- TargetURL = 'http://localhost:8099/bin'
- Login.Username = 'Tecsitel'
- Login.Password = '1'
- KeepConnection = True
- ServerLocators = <>
- DispatchOptions = []
- Left = 42
- Top = 16
- end
+ Width = 265
object ROMessage: TROBinMessage
Left = 42
Top = 88
end
+ object ROChannel: TROIndyHTTPChannel
+ OnFailure = ROChannelFailure
+ OnException = ROChannelFailure
+ ServerLocators = <>
+ DispatchOptions = []
+ IndyClient.AllowCookies = True
+ IndyClient.ProxyParams.BasicAuthentication = False
+ IndyClient.ProxyParams.ProxyPort = 0
+ IndyClient.Request.ContentLength = -1
+ IndyClient.Request.Accept = 'text/html, */*'
+ IndyClient.Request.BasicAuthentication = False
+ IndyClient.Request.UserAgent = 'RemObjects SDK'
+ IndyClient.HTTPOptions = [hoForceEncodeParams]
+ TargetURL = 'http://localhost:8099/bin'
+ Left = 40
+ Top = 16
+ end
end
diff --git a/Source/Base/Conexion/uDataModuleConexion.pas b/Source/Base/Conexion/uDataModuleConexion.pas
index 3461e70c..3bff79e0 100644
--- a/Source/Base/Conexion/uDataModuleConexion.pas
+++ b/Source/Base/Conexion/uDataModuleConexion.pas
@@ -4,30 +4,32 @@ interface
uses
SysUtils, Classes, uRORemoteService, uDADataTable,
- uDABINAdapter, uROClient, uROBinMessage, uROWinInetHttpChannel,
- uDADataStreamer;
+ uDABINAdapter, uROClient, uROBinMessage,
+ uDADataStreamer, uROIndyTCPChannel, uROIndyHTTPChannel;
const
SERVER_URL = 'http://localhost:8099/bin'; // Dirección por defecto del servidor
-
+
type
TdmConexion = class(TDataModule)
- ROChannel: TROWinInetHTTPChannel;
ROMessage: TROBinMessage;
- procedure ROChannelFailure(Sender: TROTransportChannel;
- anException: Exception; var Retry: Boolean);
+ ROChannel: TROIndyHTTPChannel;
procedure DataModuleDestroy(Sender: TObject);
+ procedure ROChannelFailure(Sender: TROTransportChannel;
+ anException: Exception; var aRetry: Boolean);
+ procedure DataModuleCreate(Sender: TObject);
private
- function GetChannel: TROWinInetHTTPChannel;
+ function GetChannel: TROTransportChannel;
function GetMessage: TROBinMessage;
function GetTargetURL: String;
procedure SetTargetURL(const Value: String);
+ procedure ConfigurarEncriptacionConexion;
public
function HayConexion : Boolean;
function ProbarConexion(const ATargetURL : String): Boolean;
procedure ConfigurarConexion;
property TargetURL : String read GetTargetURL write SetTargetURL;
- property Channel: TROWinInetHTTPChannel read GetChannel;
+ property Channel: TROTransportChannel read GetChannel;
property Message: TROBinMessage read GetMessage;
end;
@@ -39,15 +41,16 @@ implementation
{$R *.dfm}
uses
- Windows, WinInet, cxControls, uConfigurarConexion, Dialogs, Controls,
+ uROEncryption, Windows, WinInet, cxControls, uConfigurarConexion, Dialogs, Controls,
uDMBase, FactuGES_Intf;
const
IE_OFFLINE_ERROR = 'Unexpected error in WinInet HTTP Channel (2)';
+
function TdmConexion.HayConexion: Boolean;
begin
- Result := ROChannel.Connected;
+ Result := ROChannel.IndyClient.Connected;
end;
procedure TdmConexion.ConfigurarConexion;
@@ -58,8 +61,8 @@ begin
if ShowModal = mrOk then
begin
ROChannel.TargetURL := TargetURL;
- ROChannel.Connected := False;
- ROChannel.Connected := True;
+ ROChannel.IndyClient.Disconnect;
+ ROChannel.IndyClient.Connect;
dmBase.SalvarConfiguracion;
end;
finally
@@ -67,12 +70,28 @@ begin
end;
end;
-procedure TdmConexion.DataModuleDestroy(Sender: TObject);
+procedure TdmConexion.ConfigurarEncriptacionConexion;
begin
- ROChannel.Connected := False;
+ with ROChannel.Encryption do
+ begin
+ EncryptionMethod := tetDES;
+ EncryptionSendKey := '127C1A6A4D85F5EFE0A54E104BF7F695CD6C989C1808A57667EF1218E8ED93FC6CDC531631EB9750';
+ EncryptionRecvKey := 'C793F1A04FFC8DF91FF9522951F6B6DF921C70B42D74166C6DF0B697797AAA6A243BEC35A9423A51';
+ UseCompression := True;
+ end;
end;
-function TdmConexion.GetChannel: TROWinInetHTTPChannel;
+procedure TdmConexion.DataModuleCreate(Sender: TObject);
+begin
+ ConfigurarEncriptacionConexion;
+end;
+
+procedure TdmConexion.DataModuleDestroy(Sender: TObject);
+begin
+ ROChannel.IndyClient.Disconnect;
+end;
+
+function TdmConexion.GetChannel: TROTransportChannel;
begin
Result := ROChannel;
end;
@@ -89,45 +108,45 @@ end;
function TdmConexion.ProbarConexion(const ATargetURL: String): Boolean;
var
- AHTTPChannel: TROWinInetHTTPChannel;
+ AHTTPChannel: TROIndyHTTPChannel;
AROBinMessage: TROBinMessage;
ACoService: TRORemoteService;
begin
if ATargetURL = '' then
raise Exception.Create('No se ha indicado la URL del servidor (HayConexion)');
- AHTTPChannel := TROWinInetHTTPChannel.Create(Self);
+ AHTTPChannel := TROIndyHTTPChannel.Create(Self);
AROBinMessage := TROBinMessage.Create(Self);
ACoService := TRORemoteService.Create(Self);
ShowHourglassCursor;
try
+ AROBinMessage.Assign(ROMessage);
+
+ AHTTPChannel.Assign(ROChannel);
with AHTTPChannel do
begin
Name := 'HTTPChannel';
+
if Length(ATargetURL) > 0 then
TargetURL := ATargetURL
else
TargetURL := ROChannel.TargetURL;
end;
+ if AHTTPChannel.Encryption.EncryptionMethod <> tetNone then
+ ShowMessage('funcionando');
- with ACoService do
- begin
- ServiceName := 'srvLogin';
- ACoService.Message := AROBinMessage;
- Channel := AHTTPChannel;
- end;
+ ACoService.ServiceName := 'srvLogin';
+ ACoService.Message := AROBinMessage;
+ ACoService.Channel := AHTTPChannel;
try
- AHTTPChannel.Connected := True;
(ACoService as IsrvLogin).Ping;
- AHTTPChannel.Connected := False;
Result := True;
except
Result := False;
end;
finally
- AHTTPChannel.Connected := False;
FreeAndNil(AHTTPChannel);
FreeAndNil(ACoService);
FreeAndNil(AROBinMessage);
@@ -136,13 +155,13 @@ begin
end;
procedure TdmConexion.ROChannelFailure(Sender: TROTransportChannel;
- anException: Exception; var Retry: Boolean);
+ anException: Exception; var aRetry: Boolean);
begin
if (Pos(anException.Message, IE_OFFLINE_ERROR) > 0) then
begin
// Preguntar al usuario si se quiere conectar
if InternetGoOnline(PAnsiChar(ROChannel.TargetURL), GetDesktopWindow(), 0) then
- Retry := True // Si el usuario pulsa en 'Conectar' reintentar la operación
+ aRetry := True // Si el usuario pulsa en 'Conectar' reintentar la operación
else
Abort; // Si el usuario pulsa en 'Seguir desconectado' parar todo
end
diff --git a/Source/Base/Configuracion/uDataModuleConfiguracion.dfm b/Source/Base/Configuracion/uDataModuleConfiguracion.dfm
index 1f45ec7f..2f98e4e8 100644
--- a/Source/Base/Configuracion/uDataModuleConfiguracion.dfm
+++ b/Source/Base/Configuracion/uDataModuleConfiguracion.dfm
@@ -1,27 +1,10 @@
object dmConfiguracion: TdmConfiguracion
OldCreateOrder = False
Height = 160
- Width = 220
- object ROChannel: TROWinInetHTTPChannel
- UserAgent = 'RemObjects SDK'
- TargetURL = 'http://localhost:8099/bin'
- Login.Username = '123456'
- Login.Password = 'sa'
- KeepConnection = True
- ServerLocators = <>
- DispatchOptions = []
- Left = 42
- Top = 16
- end
- object ROMessage: TROBinMessage
- Left = 42
- Top = 88
- end
+ Width = 100
object RORemoteService: TRORemoteService
- Message = ROMessage
- Channel = ROChannel
ServiceName = 'srvConfiguracion'
- Left = 136
+ Left = 24
Top = 16
end
end
diff --git a/Source/Base/Configuracion/uDataModuleConfiguracion.pas b/Source/Base/Configuracion/uDataModuleConfiguracion.pas
index f5786008..b867d96c 100644
--- a/Source/Base/Configuracion/uDataModuleConfiguracion.pas
+++ b/Source/Base/Configuracion/uDataModuleConfiguracion.pas
@@ -4,7 +4,7 @@ interface
uses
SysUtils, Classes, uRORemoteService, uDADataTable,
- uDABINAdapter, uROClient, uROBinMessage, uROWinInetHttpChannel, IniFiles,
+ uDABINAdapter, uROClient, IniFiles,
uDADataStreamer;
const
@@ -12,8 +12,6 @@ const
type
TdmConfiguracion = class(TDataModule)
- ROChannel: TROWinInetHTTPChannel;
- ROMessage: TROBinMessage;
RORemoteService: TRORemoteService;
private
FIniFile : TIniFile;
@@ -46,6 +44,8 @@ end;
function TdmConfiguracion.DarValor(const CODIGO: String): Variant;
begin
+ RORemoteService.Channel := dmConexion.ROChannel;
+ RORemoteService.Message := dmConexion.ROMessage;
Result := (RORemoteService as IsrvConfiguracion).DarValor(CODIGO);
end;
diff --git a/Source/Servidor/uDataModuleServer.dfm b/Source/Servidor/uDataModuleServer.dfm
index fa6c82af..8179d795 100644
--- a/Source/Servidor/uDataModuleServer.dfm
+++ b/Source/Servidor/uDataModuleServer.dfm
@@ -5,6 +5,7 @@ object dmServer: TdmServer
Height = 307
Width = 382
object HTTPServer: TROIndyHTTPServer
+ Encryption.EncryptionMethod = tetBlowfish
Encryption.UseCompression = True
Dispatchers = <
item
@@ -73,7 +74,7 @@ object dmServer: TdmServer
Top = 144
end
object DAIBXDriver: TDAIBXDriver
- Left = 232
+ Left = 224
Top = 80
end
end
diff --git a/Source/Servidor/uDataModuleServer.pas b/Source/Servidor/uDataModuleServer.pas
index acc11e81..a68d2bb6 100644
--- a/Source/Servidor/uDataModuleServer.pas
+++ b/Source/Servidor/uDataModuleServer.pas
@@ -72,7 +72,7 @@ implementation
{$R *.dfm}
uses
- DateUtils, JclFileUtils, ActiveX, Forms, Registry, Windows, Dialogs,
+ uROEncryption, DateUtils, JclFileUtils, ActiveX, Forms, Registry, Windows, Dialogs,
ExtCtrls, uSesionesUtils, uServerAppUtils;
function DarRutaInformes : String;
@@ -292,6 +292,13 @@ end;
procedure TdmServer.HTTPServerBeforeServerActivate(Sender: TObject);
begin
HTTPServer.Port := StrToInt(FServerPort);
+ with HTTPServer.Encryption do
+ begin
+ EncryptionMethod := tetDES;
+ EncryptionSendKey := 'C793F1A04FFC8DF91FF9522951F6B6DF921C70B42D74166C6DF0B697797AAA6A243BEC35A9423A51';
+ EncryptionRecvKey := '127C1A6A4D85F5EFE0A54E104BF7F695CD6C989C1808A57667EF1218E8ED93FC6CDC531631EB9750';
+ UseCompression := True;
+ end;
end;
end.