It is in C++. I post here only because the traffic is better.
void Execute(TIdHTTP *http) {
if (svc.SubString(1, 5) == "https") {
// Need an SSL IOHandler
TIdSSLIOHandlerSocketOpenSSL *ioh = new
TIdSSLIOHandlerSocketOpenSSL(http);
ioh->Port = 443;
ioh->UseNagle = false;
} // if
if (FOnConnected) http->OnConnected = HTTPConnected;
if (FOnProgress) {
http->OnWorkBegin = HTTPWorkBegin;
http->OnWork = HTTPWork;
http->OnWorkEnd = HTTPWorkEnd;
} // if
std::auto_ptr<TMemoryStream>req(new TMemoryStream);
req->Write(rqXML.data(), rqXML.Length());
req->Position = 0;
// Add the SOAPAction HTTP Header to the Request
String hdr = "SOAPAction: \"" + fAction.Server + fAction.Name + "\"";
http->Request->CustomHeaders->Clear();
http->Request->CustomHeaders->Add(hdr);
http->Request->Accept = "text/xml";
http->Request->AcceptCharSet = "utf-8";
http->Request->ContentType = "text/xml";
// Do it
resultStream->Clear();
http->Post(svc, req.get(), resultStream);
}
Again, it works up to something less than 8MB. Itgets to the third packet,
sits for a long time (30 seconds or so) then up comes the exception.
Don
"Remy Lebeau (TeamB)" <
XXXX@XXXXX.COM>writes
Quote
"Don Wilcox" <XXXX@XXXXX.COM>writes
news:474cb1cd$XXXX@XXXXX.COM...
>when my data gets too large (5 MB or so) it suddenly
>throws a socket exception with the error code 10053.
WSAECONNABORTED (10053)
Software caused connection abort.
An established connection was aborted by the software in your host
machine,
possibly due to a data transmission timeout or protocol error.
>Does anyone have any pointers on how to go about tracking this down?
Please show your actual code.
Gambit