$callOptions = array(); if (isset($_POST['api-singleTxn'])) { $callOptions = array("useSingleTransaction"=>$_POST['api-singleTxn']); } if ($method == "query" || $method == "api") { try { $client = createClient($wsdl, $debug); $client->setLocation($_SESSION['service_url']); $locationString = $client->myLocation; $header = ZuoraAPIHelper::getHeader(''); if (!$_SESSION['sessionId-refresh']) { $header->data["session"] = $_SESSION['sessionId']; } else { $header = ZuoraAPIHelper::login($client, $username, $password, $debug); if ($header->data["session"] == NULL) { throw new Exception("Null session received, please check your username or password."); } //$_SESSION['sessionId-refresh'] = false; $_SESSION['sessionStartTime'] = microtime(true); $_SESSION['sessionId'] = $header->data["session"]; } $soapRequest = ZuoraAPIHelper::createRequestAndHeadersWithNS($header->data["session"], $_SESSION['api-batchSize'], $callOptions, $payload, $_SESSION['api-ns'], $_SESSION['object-ns']); $requestString = xml_pretty_printer($soapRequest, true); $timeBefore = microtime(true); $xml = ZuoraAPIHelper::callAPIWithClient($client, $header, $soapRequest, $debug); $timings[] = microtime(true) - $timeBefore; $xml_obj = ZuoraAPIHelper::getElementFromXML($xml);
public static function checkLogin($wsdl, $username, $password, $debug) { $location = ZuoraAPIHelper::getSoapAddress($wsdl, $debug); $tempLoginToken = $location . $username; try { if (microtime(true) - ZuoraAPIHelper::$lastLoginTime > 600 || ZuoraAPIHelper::$loginToken != $tempLoginToken) { ZuoraAPIHelper::$loginToken = $tempLoginToken; if ($debug) { print "NOTE: Logging in.\n"; } ZuoraAPIHelper::$client = ZuoraAPIHelper::createClient($wsdl, $debug); ZuoraAPIHelper::$header = ZuoraAPIHelper::login(ZuoraAPIHelper::$client, $username, $password, $debug); ZuoraAPIHelper::$lastLoginTime = microtime(true); } } catch (Exception $e) { //var_dump($e); return $e->getMessage(); } return ""; }