Losing connection
-
Hello
I'm sending data using Post over http (SOAP), and my issue is that if the connection is interrupted and the software tries to send data during this time, it won't restore. Else if the connection has time to restore (heal) everything continues to work just fine. The same applies to restarting the application, also then does everything again start to work.I guess that a request somehow remains active, thereby messing up the connection. My object has a "QNetworkAccessManager" that handles the request, also an QNetworkRequest and an QNetworkReply are included in the object. Every time I issue a post request:
@this->soapTimeReply = soapTimeManager->post(*soapTimeRequest,content);@
I also issue a timeout:
@this->timeoutTimer->setSingleShot(true);
this->timeoutTimer->start(TIMEOUT_SOAP);@with the timeout function as follows:
@void Mailman::transferTimeout()
{
if(soapReply->isRunning())
{
soapReply->abort();
}
}@The abort function calls the finished slot of the request, which then retries to send the request:
@if (doneReply->error() == QNetworkReply::NoError)
{
qDebug() << "Transfer OK!";
}
else
{soapReply = soapManager->post(*soapRequest,content);
this->timeoutTimer->setSingleShot(true);
this->timeoutTimer->start(TIMEOUT_SOAP);
}
}@Unfortunately this always ends up in a timeout... As mentioned, as long as all requests are sent when the connection is working (doesn't matter if it's broken in between) everything works. But as soon as a single request is sent when the connection is down, it jams, and isn't restored until I reboot the application...
What could be causing this? Thank you!
Richard -
I am having this same problem using gSOAP to connect to a webservice. I am using Symbian S60 3rd Edition FP2 with Qt. The application runs fine, but after an hour or so gsoap stops being able to connect to the WS. If I restart the application it starts running fine. Any clue?