/** * Convert an internal structWSF resultset array structure in irON JSON * * @return a structWSF document in irON JSON * * @author Frederick Giasson, Structured Dynamics LLC. */ public function getResultsetIronJSON() { $ws_irv = new ConverterIrJSON($this->getResultsetXML(), "text/xml", "true", "self", "self"); $ws_irv->pipeline_conneg("application/iron+json", "", "text/xml", ""); $ws_irv->process(); if ($ws_irv->pipeline_getResponseHeaderStatus() != 200) { /* $this->conneg->setStatus($ws_irv->pipeline_getResponseHeaderStatus()); $this->conneg->setStatusMsg($ws_irv->pipeline_getResponseHeaderStatusMsg()); $this->conneg->setStatusMsgExt($ws_irv->pipeline_getResponseHeaderStatusMsgExt()); $this->conneg->setError($ws_irv->pipeline_getError()->id, $ws_irv->pipeline_getError()->webservice, $ws_irv->pipeline_getError()->name, $ws_irv->pipeline_getError()->description, $ws_irv->pipeline_getError()->debugInfo, $ws_irv->pipeline_getError()->level); */ return; } return $ws_irv->pipeline_serialize(); }
$mtime = explode(' ', $mtime); $mtime = $mtime[1] + $mtime[0]; $starttime = $mtime; $start_datetime = date("Y-m-d h:i:s"); $requester_ip = "0.0.0.0"; if (isset($_SERVER['REMOTE_ADDR'])) { $requester_ip = $_SERVER['REMOTE_ADDR']; } $parameters = ""; if (isset($_SERVER['REQUEST_URI'])) { $parameters = $_SERVER['REQUEST_URI']; $pos = strpos($parameters, "?"); if ($pos !== FALSE) { $parameters = substr($parameters, $pos, strlen($parameters) - $pos); } } elseif (isset($_SERVER['PHP_SELF'])) { $parameters = $_SERVER['PHP_SELF']; } $ws_irv = new ConverterIrJSON($document, $docmime, $include_dataset_description, $registered_ip, $requester_ip); $ws_irv->ws_conneg(isset($_SERVER['HTTP_ACCEPT']) ? $_SERVER['HTTP_ACCEPT'] : "", isset($_SERVER['HTTP_ACCEPT_CHARSET']) ? $_SERVER['HTTP_ACCEPT_CHARSET'] : "", isset($_SERVER['HTTP_ACCEPT_ENCODING']) ? $_SERVER['HTTP_ACCEPT_ENCODING'] : "", isset($_SERVER['HTTP_ACCEPT_LANGUAGE']) ? $_SERVER['HTTP_ACCEPT_LANGUAGE'] : ""); $ws_irv->process(); $ws_irv->ws_respond($ws_irv->ws_serialize()); $mtime = microtime(); $mtime = explode(" ", $mtime); $mtime = $mtime[1] + $mtime[0]; $endtime = $mtime; $totaltime = $endtime - $starttime; if ($ws_irv->isLoggingEnabled()) { $logger = new Logger("converter/irv", $requester_ip, "--", isset($_SERVER['HTTP_ACCEPT']) ? $_SERVER['HTTP_ACCEPT'] : "", $start_datetime, $totaltime, $ws_irv->pipeline_getResponseHeaderStatus(), isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : ""); } //@}