SOAPクライアントが再利用されていない理由を教えていただけますか?それは、最後の呼び出しから再利用されるべき場所で初期化され続ける。作成したSOAPクライアントオブジェクトを再利用していません
SOAPクライアントオブジェクトが初期化された後に印刷されますが、次の呼び出しで忘れられます。
したがって、PHPスクリプトは接続の初期化を続けます。
マイコード:
class EcoAPI {
private $client;
public function getClient() {
if (empty($this->client)) {
echo "<br>initializing...";
$this->initClient();
}
return $this->client;
}
private function initClient() {
$settingsOld = Settings::GetOld();
$this->client = new SoapClient("https://api.e-conomic.com/secure/api1/EconomicWebservice.asmx?WSDL", array("trace" => 1, "exceptions" => 1));
$this->client->ConnectWithToken(array('token' => $settingsOld->economic_token_secret, 'appToken' => $settingsOld->economic_token_app));
}
}
私は接続することにより:
$ecoApi = new EcoAPI();
$result = $ecoApi->getClient()->Account_GetVatAccount(array('accountHandle' => (object) array('Number' => (string) $VatAccount)));
'client'プロパティを静的にすることができますか?新しいEcoAPIクラスを呼び出すたびに、新しいSOAPクライアントをインスタンス化しているようです。例: '$ result = EcoAPI :: client-> Account_GetVatAccount(...)' –