-1

スクリプトは、nusoap ライブラリを使用して php 4 で実行されます

require_once('nusoap/lib/nusoap.php');
ini_set("soap.wsdl_cache_enabled", "0");
$client = new soapclient("some-url",true);
$err = $client->getError();
if ($err) 
{
header("Location: error-page");
exit();
}

私の質問は次のとおりです。エラーが検出された場合、1〜2秒( sleep(2); のようなもの)待ってから、SOAP接続を再度有効にすることは可能ですか? そして、将来の参考のために...どうすれば考えられるすべてのエラーを取得し、それらのケースを作成できますか? たとえば、一部のエラーでは接続の再初期化を待ち、その他のエラーでは理由を db に記録し、残りのエラーでは一般的なエラー ページにリダイレクトします。

4

1 に答える 1

1

あなたはプログラミングの方法を知っていますよね?コードをループにドロップするだけです。

$retries = 3; // how many times to retry the connection
$sleep   = 2; // number of seconds to sleep in-between retries

$i = 1;
while (TRUE) {

    $client = new soapclient("some-url",true);

    if ( ! $client->getError()) {
        break; // break out of the loop on success
    } elseif ($i === $retries) {
        header("Location: error-page");
        exit();
    }

    sleep($sleep);
    ++$i;
}
于 2012-05-08T14:59:11.563 に答える