AJAXリクエストをSOAPサーバーに転送するプロキシのようなページを作成しようとしています。 ブラウザは10秒ごとに2つのリクエストを同じページ(クエリ文字列の異なるserver.php)に送信します。 サーバーは、クエリ文字列に応じてSOAPサーバーにSOAP呼び出しを行います。 すべて正常に動作しています。php soapクライアントを使用すると奇妙なタイムアウト動作が発生する
次に、私はsoapサーバーに遅い応答をシミュレートするためにスリープ状態にして、呼び出し元にタイムアウトをかけて数秒後に呼び出しを中止します。
server.php: Pseudo code:
$timeout = 10;
ini_set("default_socket_timeout", $timeout);
$id = $_GET['id'];
$wsdl= 'http://soapserver/wsdl'
$client = new SoapClient($wsdl,array('connection_timeout'=> $timeout));
print($client->getQuote($id));
ブラウザがhttp://myserver/server.php?id=IBM 要求にAJAXリクエストを送信した場合
は私が設定したタイムアウト後に停止します。 最初の通話が停止する前に2番目の通話を試みると、2番目の通話はタイムアウトを考慮しません。PHP SOAPを使用せず、代わりにカールを使用しようとしましたが、同じ結果が得られました。
http://myserver/server.php?id=IBM
http://myserver/server.php?id=AAP
http://myserver/server.php?id=MSX
最初のものは、10秒、20秒後の第二と30秒後の第3の後に停止します。
は、私も自分のブラウザ上で3つのタブを開いて、呼び出そうとしました。これは正常な動作ですか、何か不足していますか?あなたは、おそらくセッションを開始している