Exemplo n.º 1
0
 /**
  * Gerencia a  de criação
  * e edição dos consulta 
  */
 public function consultarWebServiceAction()
 {
     $o_consulta = new ConsultaModel();
     //verificando se o id da consulta foi passado
     if (isset($_REQUEST['valor_consulta'])) {
         //verificando se o valor passado é valido
         if (DataValidator::isNumeric($_REQUEST['valor_consulta'])) {
             //buscando dados no webService 'http://www.w3schools.com/webservices/tempconvert.asmx' contato
             $client = new SoapClient('http://www.w3schools.com/webservices/tempconvert.asmx?WSDL');
             if ($_REQUEST['tipo'] == 'Fahrenheit_Celsius') {
                 $function = 'FahrenheitToCelsius';
                 $arguments = array('FahrenheitToCelsius' => array('Fahrenheit' => 123));
             } else {
                 $function = 'CelsiusToFahrenheit';
                 $arguments = array('CelsiusToFahrenheit' => array('Celsius' => $_REQUEST['valor_consulta']));
             }
             $options = array('location' => 'http://www.w3schools.com/webservices/tempconvert.asmx?WSDL');
             try {
                 $result = $client->__soapCall($function, $arguments, $options);
             } catch (SoapFault $exception) {
                 echo $exception;
             }
             if ($_REQUEST['tipo'] == 'Fahrenheit_Celsius') {
                 $o_consulta->setRespostaTemperatura(DataFilter::cleanString($result->FahrenheitToCelsiusResult));
                 $o_consulta->setRequisicaoTipo('Fahrenhet');
                 echo "<script>alert('Temperatura resultado {$result->FahrenheitToCelsiusResult}')</script>";
             } else {
                 $o_consulta->setRespostaTemperatura(DataFilter::cleanString($result->CelsiusToFahrenheitResult));
                 $o_consulta->setRequisicaoTipo('Celsius');
                 echo "<script>alert('Temperatura resultado {$result->CelsiusToFahrenheitResult}')</script>";
             }
             $o_consulta->setRequisicaoTemperatura(DataFilter::cleanString($_REQUEST['valor_consulta']));
             $o_consulta->setIp(DataFilter::cleanString(ConsultaController::getIp()));
             $o_consulta->setXmlGerado(serialize($result));
             $o_consulta->save();
         } else {
             echo "<script>alert('Valor invalido')</script>";
         }
     }
     $v_consultas = $o_consulta->_list();
     //definindo qual o arquivo HTML que será usado para
     //mostrar a lista de consulta
     $o_view = new View('views/listarConsulta.phtml');
     //Passando os dados da consulta para a View
     $o_view->setParams(array('v_consultas' => $v_consultas));
     //Imprimindo código HTML
     $o_view->showContents();
 }