/** * singleton pattern * * @return StoreToken */ public static function getInstance() { if (!isset(self::$instance) || !self::$instance instanceof StoreToken) { self::$instance = new StoreToken(); } return self::$instance; }
/** * run get GetAuthentificationToken and call setSoapHeader() * * @throws Exception */ private function doAuthentification() { /* * request object */ $oPlentySoapRequest_GetAuthentificationToken = new PlentySoapRequest_GetAuthentificationToken(); $oPlentySoapRequest_GetAuthentificationToken->Username = SOAP_USER; $oPlentySoapRequest_GetAuthentificationToken->Userpass = SOAP_PASSWORD; /* * response object */ $oPlentySoapResponse_GetAuthentificationToken = new PlentySoapResponse_GetAuthentificationToken(); try { $oPlentySoap = new PlentySoap(WSDL_URL); $oPlentySoapResponse_GetAuthentificationToken = $oPlentySoap->GetAuthentificationToken($oPlentySoapRequest_GetAuthentificationToken); if ($oPlentySoapResponse_GetAuthentificationToken->Success == true) { $userId = $oPlentySoapResponse_GetAuthentificationToken->UserID; $token = $oPlentySoapResponse_GetAuthentificationToken->Token; /* * save token and userId */ StoreToken::getInstance()->saveToken(SOAP_USER, $token, $userId); $this->setSoapHeader($userId, $token); return; } else { $messages = ''; // error messages if (is_array($oPlentySoapResponse_GetAuthentificationToken->ResponseMessages->item)) { foreach ($oPlentySoapResponse_GetAuthentificationToken->ResponseMessages->item as $Message) { if (is_array($Message->ErrorMessages->item)) { foreach ($Message->ErrorMessages->item as $ErrorMessage) { $messages .= $ErrorMessage->Value . ': ' . $ErrorMessage->Key; } } } } $this->getLogger()->crit(__FUNCTION__ . ': error getting token: ' . $messages); throw new Exception('error getting token'); } } catch (Exception $e) { /* * catch exception only for logging, than throw a new one */ $this->getLogger()->crit(__FUNCTION__ . ': exception getting token: ' . $e->getMessage()); throw $e; } }