wsdl = $wsdl; ini_set('soap.wsdl_cache_enabled', 0); } public function isAlive() { return $this->call(__FUNCTION__, array()); } public function getObsDataTree() { return $this->call(__FUNCTION__, array()); } public function getTimeTablesList($userID = "", $password = "") { $params = array('parameters' => array()); if ($userID != "" && $password != "") { $params['parameters'] = array( "userID" => $userID, "password"=> $password ); } return $this->call(__FUNCTION__, $params); } public function getTimeTable($ttID, $userID = "", $password = "") { $params = array('parameters' => array()); if ($userID != "" && $password != "") { $params['parameters'] = array( "userID" => $userID, "password"=> $password ); } $params['parameters']['ttID'] = $ttID; return $this->call(__FUNCTION__, $params); } public function getParameterList($userID, $password = "") { $params = array('parameters' => array( "userID" => $userID )); if ($password != "") $params['parameters']["password"] = $password; return $this->call(__FUNCTION__, $params); } public function getParameter($startTime, $stopTime, $parameterID, $sampling = 0, $userID = "", $password = "", $outputFormat = WSOutputFileFormat::NETCDF, $timeFormat = WSOutputTimeFormat::ISO, $gzip = 0) { $params = array('parameters' => array( "startTime" => $startTime, "stopTime" => $stopTime, "parameterID" => $parameterID, "outputFormat" => $outputFormat, "timeFormat" => $timeFormat, "gzip" => $gzip )); if ($sampling > 0) $params["parameters"]["sampling"] = $sampling; if ($userID != "" && $password != "") { $params["parameters"]["userID"] = $userID; $params["parameters"]["password"] = $password; } return $this->call(__FUNCTION__, $params); } public function getStatus($processID) { $params = array('parameters' => array( "id" => $processID )); return $this->call(__FUNCTION__, $params); } public function getDataset($startTime, $stopTime, $datasetID, $sampling = 0, $userID = "", $password = "", $outputFormat = WSOutputFileFormat::NETCDF, $timeFormat = WSOutputTimeFormat::ISO, $gzip = 0) { $params = array('parameters' => array( "startTime" => $startTime, "stopTime" => $stopTime, "datasetID" => $datasetID, "outputFormat" => $outputFormat, "timeFormat" => $timeFormat, "gzip" => $gzip )); if ($sampling > 0) $params["parameters"]["sampling"] = $sampling; if ($userID != "" && $password != "") { $params["parameters"]["userID"] = $userID; $params["parameters"]["password"] = $password; } return $this->call(__FUNCTION__, $params); } public function getOrbites($startTime, $stopTime, $spacecraft, $coordinateSystem, $units = WSOrbitUnit::KM, $sampling = 0, $userID = "", $password = "", $outputFormat = WSOutputFileFormat::NETCDF, $timeFormat = WSOutputTimeFormat::ISO, $gzip = 0) { $params = array('parameters' => array( "startTime" => $startTime, "stopTime" => $stopTime, "spacecraft" => $spacecraft, "coordinateSystem" => $coordinateSystem, "units" => $units, "outputFormat" => $outputFormat, "timeFormat" => $timeFormat, "gzip" => $gzip )); if ($sampling > 0) $params["parameters"]["sampling"] = $sampling; if ($userID != "" && $password != "") { $params["parameters"]["userID"] = $userID; $params["parameters"]["password"] = $password; } return $this->call(__FUNCTION__, $params); } public function getPlot($startTime, $stopTime, $missionID, $userID = "", $password = "") { $params = array('parameters' => array( "startTime" => $startTime, "stopTime" => $stopTime, "missionID" => $missionID )); if ($userID != "" && $password != "") { $params["parameters"]["userID"] = $userID; $params["parameters"]["password"] = $password; } return $this->call(__FUNCTION__, $params); } public function getResultPlot($plotDirectoryURL) { $params = array('parameters' => array( "plotDirectoryURL" => $plotDirectoryURL )); return $this->call(__FUNCTION__, $params); } private function call($function, $params) { if ($this->client == null) $this->createSOAPClient(); try { return $this->client ->__call($function, $params); } catch (Exception $e) { print_r($this->client->__getLastResponse()); var_dump($e); return null; } } private function createSOAPClient() { $this->client = new SoapClient( $this->wsdl, array( "trace"=> 1, "soap_version"=> SOAP_1_1 )); } } ?>