$payload = "<ns1:query><ns1:queryString>" . htmlspecialchars($body) . "</ns1:queryString></ns1:query>"; } else { $payload = $body; } $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);
public static function login($client, $username, $password, $debug) { # do the login $login = array("username" => $username, "password" => $password); $client->myDebug = 0; $result = $client->login($login); $client->myDebug = $debug; //if ($debug) var_dump($result); $session = $result->result->Session; $url = $result->result->ServerUrl; if ($debug) { print "\nSession: " . $session; print "\nServerUrl: " . $url; print "\n"; } # set the authentication return ZuoraAPIHelper::getHeader($session); }