Re: HTTP SSL Data back from post, but onBeginWork not fired

Giganews Newsgroups
Subject: Re: HTTP SSL Data back from post, but onBeginWork not fired
Posted by:  Molando (a…
Date: Tue, 13 Sep 2005

Ok, sorted. two weeks of madness on and off.
I just removed the lines:

//    if Assigned(FHTTP.IOHandler) then
//    begin
//      Response.KeepAlive := not (FHTTP.Connected and (FHTTP.IOHandler is
TIdSSLIOHandlerSocketBase) and Response.KeepAlive);
//    end;

TIdHTTPProtocol.ProcessResponse(AIgnoreReplies: array of SmallInt):


Probably a nicer way of fixing the problem, but it worked for me. Will do a
proper fix later.

"Molando" <a…> wrote in message news:D9A7319E0BDAE240a…
> Hello. Sorry for the long description, but this has had me stumped for a
> weeks.
> I am using windows 2k. Latest version of Indy.
> IdHTTP + IdSSLIOHandlerSocketOpenSSL
> I am connecting to a https site, sending some XML with a post operation,
> then receiving some gziped data back.
> The post operation I am using is one that takes the URL, the strings, and
> returns a stream.
> The machines talk to each other fine, the SSL connection is being formed
> perfectly. The XML data is always being sent over, and its contents have
> been verified many times. There are no firewalls, or parts on the either
> machine that will cause any problems.
> With a packet sniffer, I see that I always get the correct response back.
> But onWorkBegin is not always being called.
> If I use dialup, it will work around 90% of the time. Normally in runs, so
> dial up one time, and all will be perfect, the next time 3 or 4 will work
> a row, or maybe onWorkBegin will not be called at all for 10 attempts, but
> work on the 11th. The program is being reset each time.
> When I use our internal network to connect out, then it is the reverse,
> the data is recorded fine (there and back) in the packet sniffer, but
> onBeginWork does not get called 95% of the time.
> From tracing it appears that the program first starts to branch around
> IdSSLOpenSSL :
> TIdSSLIOHandlerSocketOpenSSL.ReadFromSource
> When the program works:
>    repeat
>      if Readable(ATimeout) then begin // is false
> When the program Fails, this part returns true
> I also noticed in idHTTP
> function TIdHTTPResponse.GetKeepAlive: Boolean;
> is being called just before the onwork event is called. It is never called
> when it fails.
> The timeout is set to infinite.
> When the system fails, there is not a long delay. Quicker than when it
> works.
> Hopefully I am just missing a setting. If not could somebody point me in
> right direction.
> Thanks in advance,
>      Jonathan.



In response to

HTTP SSL Data back from post, but onBeginWork not fired posted by Molando on Tue, 13 Sep 2005