AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

[FMX] SOAP-Timeout(s) setzen

Ein Thema von DeddyH · begonnen am 19. Okt 2015 · letzter Beitrag vom 3. Mai 2016
 
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.675 Beiträge
 
Delphi 12 Athens
 
#6

AW: [FMX] SOAP-Timeout(s) setzen

  Alt 20. Okt 2015, 12:45
Ja, das hatte ich schon entdeckt, auch den Kommentar
Zitat:
Delphi-Quellcode:
{ Can these be exposed when using Indy too?? }
    property ConnectTimeout: Integer read FConnectTimeout write FConnectTimeout;
    property SendTimeout: Integer read FSendTimeout write FSendTimeout;
    property ReceiveTimeout: Integer read FReceiveTimeout write FReceiveTimeout;
Das Setzen der Timeouts erfolgt an einer einzigen Stelle (THTTPReqResp.Send).
Zitat:
Delphi-Quellcode:
if FConnectTimeout > 0 then
      Check(not InternetSetOption(Request, INTERNET_OPTION_CONNECT_TIMEOUT, Pointer(@FConnectTimeout), SizeOf(FConnectTimeout)));
Ich habe eine Grep-Suche über die Indy-Sourcen laufen lassen, InternetSetOption wurde nirgends gefunden, von daher gehe ich davon aus, dass es sich um WinInet handelt.

[edit] Eben stand ich noch am Abgrund, jetzt bin ich einen Schritt weiter
Delphi-Quellcode:
var
  RIO: THTTPRIO;
  {$IFDEF POSIX}
  Handler: TIdIOHandler;
  {$ENDIF}
begin
  {$IFDEF POSIX}
  Handler := nil;
  {$ENDIF}
  RIO := THTTPRIO.Create(nil);
  try
    {$IFDEF POSIX}
    Handler := TIdIOHandler.MakeDefaultIOHandler(nil);
    RIO.HTTPWebNode.IOHandler := Handler;
    {$ENDIF}
    RIO.HTTPWebNode.{$IFDEF POSIX}IOHandler.{$ENDIF}ConnectTimeOut :=
      FConnectTimeOut;
    {$IFNDEF POSIX}RIO.HTTPWebNode.SendTimeOut := FSendTimeOut; {$ENDIF}
    RIO.HTTPWebNode.
    {$IFDEF POSIX}IOHandler.ReadTimeOut{$ELSE}ReceiveTimeOut{$ENDIF} :=
      FReceiveTimeOut;

    try
      FService := GetTestService(false, aURI, RIO);
Aaaaber... Zitat aus der Indy-Hilfe:
Zitat:
ConnectTimeout is not used in TIdIOHandler, but is provided for compatibility purposes. ConnectTimeout allows a client using a socket-based IOHandler, like TIdIOHandlerStack, to access the protocol stack to set the timeout value.

Use the ConnectTimeout property in the TIdTCPClient to set the connection timeout without specific access to an IOHandler.
Ich werd noch wahnsinnig [/edit]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen

Geändert von DeddyH (20. Okt 2015 um 13:55 Uhr)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:50 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz