Example #1
0
$oPending->SetCompleted(2);
$bError = !$oPending->Insert($oSession);
if ($bError) {
    $sMessage = "<error><message>" . $oPending->GetErrorInfo() . "</message></error>";
} else {
    $nKey = $oPending->GetPendingId();
    $nSleep = 0;
    do {
        if ($nSleep > 0) {
            sleep(1);
        }
        $oPending->Clear();
        $oPending->SetPendingId($nKey);
        $oPending->Select($oSession);
        $nSleep++;
    } while ($nSleep < $nTimeout && $oPending->GetCompleted() != 1 && $oPending->GetCompleted() != 4);
    $bError = $nSleep == $nTimeout && $oPending->GetCompleted() != 1 && $oPending->GetCompleted() != 4;
    if ($bError) {
        $sMessage = "<error><message>Timeout</message></error>";
    } else {
        $sMessage = "";
        $oCompleted = new CRowtblcompleted();
        $oCompleted->SetPendingId($nKey);
        $oCompleted->SetOrder("CompletedId");
        $oCompleted->Select($oSession);
        $sXML = "";
        while (!$oCompleted->GetEof()) {
            if ($oCompleted->GetSuccess() == 0) {
                $sXML .= $oCompleted->GetOutXML();
                $sMode = $oCompleted->GetMode();
                if ($sMode == "") {