Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Indy 10 (D2006) Connect time out (https://www.delphipraxis.net/68500-indy-10-d2006-connect-time-out.html)

emsländer 30. Apr 2006 17:00


Indy 10 (D2006) Connect time out
 
Moin die Herren,

nachdem ich hier schon einiges gelesen habe, hab ich meine httppost routine ein wenig umgeschrieben, um Fehler (oder besser die Eigenheiten von Indy10) besser abfangen zu können. Die Daten kommen wohl auf dem Zielserver einwandfrei an, jedoch bekomme ich immer ein Connection Time Out :evil:

Delphi-Quellcode:
      rkSendFile :
        begin
          sTmpFilename := frmmain.betreuung_dossier.text;
          self.Caption := 'Versende Anhänge';
          if ghttps_aus then sURL := 'http://.......'
             else sURL := 'https://.......;
          httpcon.IOHandler := frmmain.IdSSLIOHandlerSocketOpenSSL1;
          strLParam.Add('type=7');
          strLParam.Add('code='+fUsercode);
          strLParam.Add('pwd='+fPWD);
          strLParam.Add('xml='+gxml);
          strLParam.Add('pdf='+gpdf);
          strLParam.Add('zip=true');
          strLParam.Add('file='+sTmpFilename);
          strLParam.Add('message='+gmessage);
          _sstream := Tstringstream.create('');
          someError := false;
          repeat
            try
               HttpCon.ConnectTimeout := 20000;
               HttpCon.Post(sURL,strLParam,_sstream);
               HttpCon.Disconnect;
               sFileData := _sStream.DataString;
               freeandnil(_sstream);
                 Xml := TSimploXML.Create(nil);
               Xml.LoadFromstring(sFileData);
               // XML - auswerten
               fehlercode := strtoint(Xml.Root.ElementsByName('ERROR')[0].ElementsByName('CODE')[0].Text);
               fehlertext := Xml.Root.ElementsByName('ERROR')[0].ElementsByName('TEXT')[0].Text;
               FreeAndNil(xml);
            except
              On E: EIdConnClosedGracefully do
              begin
                SomeError := false;
              end;
              On E: EIdHTTPProtocolException do
              begin
                SomeError := E.ErrorCode <> 302;
                fehlercode := E.ErrorCode;
                fehlertext := E.ErrorMessage;
                if fehlercode = 0 then SomeError := false;
               
              end;
              On E: EIdException do
              begin
                SomeError := true;
              end;
              else
//                raise;

                showmessage('Fehler beim Versand'+#10#13+
                                       'Code: '+inttostr(fehlercode)+', '+fehlertext+#10#13
                                                +'Bitte noch einmal versuchen oder FinanzDesk kontaktieren');
            end;
          until SomeError;
          if not SomeError then showmessage('Ihr Antrag wurde verschickt')
        end;
        close;
Korrektur: Es kommt die Meldung: Read Timeout

Wer hat ne Idee?

Gruss

EL


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:46 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