Kann mir jemand sagen, warum der SOAP-Client nicht wiederverwendet wird? Es wird immer dort initialisiert, wo es vom letzten Aufruf wiederverwendet werden sollte.Verwendet das erstellte SOAP-Clientobjekt nicht erneut
Wenn ich das SOAP-Client-Objekt nach der Initialisierung ausgedruckt habe, ist es dort, aber es wird beim nächsten Aufruf vergessen.
Also das PHP-Skript hält die Verbindung initialisieren.
Mein Code:
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));
}
}
Ich verbinde mit:
$ecoApi = new EcoAPI();
$result = $ecoApi->getClient()->Account_GetVatAccount(array('accountHandle' => (object) array('Number' => (string) $VatAccount)));
Sie könnten versuchen, die Eigenschaft 'client' statisch zu machen? Es scheint, als ob Sie jedes Mal, wenn Sie eine neue EcoAPI-Klasse aufrufen, einen neuen SOAP-Client instanziieren. Bsp .: '$ result = EcoAPI :: client-> Account_GetVatAccount (...)' –