private function request($pnr, $command) { $data = $this->DOMIssue->createElement('data'); $data->appendChild($this->DOMIssue->createElement('serviceaction', $command)); $servicedata = $this->DOMIssue->createElement('servicedata'); $servicedata->appendChild($this->DOMIssue->createElement('booking', $pnr)); //$servicedata->appendChild($this->DOMIssue->createElement('commission', '')); $servicedata->appendChild($this->DOMPayments); $data->appendChild($servicedata); $this->DOMIssue->appendChild($data); $this->DOMIssue->formatOutput = true; $xml = substr($this->DOMIssue->saveXML(), 22); /** * Se hace la peticion al servicio de emision */ $ws = new SoapClient($this->serviceUrl, array('encoding' => 'UTF-8')); $request = new stdClass(); $request->value = $xml; $result = $ws->GetSendData($request); $result = $result->GetSendDataResult; /** * Se termina la peticion y se procesa la respuesta */ $doc = new DOMDocument(); $doc->loadXML($result); foreach ($doc->getElementsByTagName('successful') as $data) { $status = strtolower($data->nodeValue) != 'false'; } if (!$status) { foreach ($doc->getElementsByTagName('errormessage') as $data) { $this->message = $data->nodeValue; } } else { $tickets = '<pre>'; foreach ($doc->getElementsByTagName('passenger') as $data) { $info = explode('/', $data->getElementsByTagName('ticketnumber')->item(0)->nodeValue); $tickets .= $info[0] . ' / ' . $info[2] . ' / '; $tickets .= $data->getElementsByTagName('type')->item(0)->nodeValue . ' / '; $tickets .= $data->getElementsByTagName('surname')->item(0)->nodeValue . ' '; $tickets .= $data->getElementsByTagName('firstname')->item(0)->nodeValue; $tickets .= "\n"; } $tickets .= '</pre>'; $this->tickets = $tickets; } return $status; }