これをできるだけ短く説明しようと思います。顧客が iDeal (PayPal のようなオランダのオンライン支払い方法) から当社の Web サイト (ページ A としましょう) に戻ると、Web サイトはいくつかのことを処理します (DB の更新、請求書の作成など)。また、金融関連の処理を行うプログラムに対して SOAPclient 要求を行う必要がありました。
奇妙なことに、このページ A に最初にアクセスしようとすると、ページがキャンセルされ (Chrome の [ネットワーク] タブに表示されるように)、再度呼び出され、今回は機能します。これは実際の問題ではありませんが、メールが 2 回送信されるようになりました。
私がそれについて奇妙に思うのは、cronjob で呼び出される別のページ (ページ B) にもまったく同じコードがあることです。ページBでは正常に動作します。また、ページ A を手動で呼び出した場合 (リダイレクトはありませんが、ブラウザに URL を入力した場合) も機能します。
これが私のコードです: (これは金融プログラムによって私に与えられたものです。)
$wsdl = "https://url-to-financial-program";
$client = new SoapClient($wsdl);
$client->__setLocation("https://url-to-financial-program");
$return = $client->Import($params);
私の質問は、私のページ A がキャンセルされるのはなぜですか? その部分をコメントアウトすると、問題なく動作するため、それが SOAPclient 呼び出しであることは間違いありません。これは SOAPclient の問題か何かですか?
回避策を作ることもできますが、最初にページ A がキャンセルされる理由を突き止めることができればよいでしょう。
編集:これは私のコンソールが示すものです