dri98076 2015-09-25 18:09
浏览 31

PHP Rest Api客户端

i'm doing a client for a web service PHP REST. I have the URL of the method (insert) but when i launch the client, the response of the server always is FALSE. I would like to know if the problem is my code, or the server is down. Here is the code. I'm using the framework CodeIgniter

Thanks!

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Service extends CI_Controller {

private $db1;

function __construct() {
    parent::__construct();
    $this->load->helper(array('string', 'form', 'url', 'file'));
    $this->load->library('session');
    $this->load->library('form_validation');
    $this->load->database();
}

function index() {
    // Consulto todos los distritos de colegios
    $this->load->model("service_model");

    $profesionales = $this->service_model->getAllProfesionalesDia();

    $unProfesional = array();

    foreach ($profesionales->result() as $p) {
        $unProfesional['NOMBRE'] = $p->NOMBRE;
        $unProfesional['APELLIDO'] = $p->APELLIDO;
        $unProfesional['ID_TIPODOC'] = $p->TIPO_DOCUMENTO_ID;
        $unProfesional['NRODOC'] = $p->NUMERO_DOCUMENTO;
        $unProfesional['SEXO'] = $p->SEXO;
        $unProfesional['FECHA_NACIMIENTO'] = $p->FECHA_NACIMIENTO;
        $unProfesional['ID_PAIS_NACIMIENTO'] = "1";
        $unProfesional['ID_LOC_NACIMIENTO'] = $p->LOC_NACIMIENTO;
        $unProfesional['ID_PAIS'] = "1";
        $unProfesional['EMAIL'] = $p->MAIL_1;
        $unProfesional['EMAIL2'] = $p->MAIL_2;
        $unProfesional['HABILITADO'] = 'SI';
        $unProfesional['TITULO'] = $p->DESCRIPCION;
        $unProfesional['ID_INSTITUCION_FORMADORA'] = $p->INSTITUCIONID;
        $unProfesional['FECHA_TITULO'] = $p->FECHA_TITULO;
        $unProfesional['ID_PROFESION_REFERENCIA'] = $p->REFERENCIA_ID;
        $unProfesional['ID_INSTITUCION_SEDE'] = "";
        $unProfesional['REVALIDA'] = 'NO';
        $unProfesional['ID_INSTITUCION_REVALIDA'] = 'NO';   
        $unProfesional['FECHA_REVALIDA'] = 'NO';
        $unProfesional['ID_PROFESION'] = $p->PROFESION_ID;  
        $unProfesional['ID_PROVINCIA_MATRICULA'] = $p->PROV_MATRICULA;
        $unProfesional['MATRICULA'] = $p->NUMEROMATRICULA;
        $unProfesional['FECHA_MATRICULA'] = $p->FECHAMATRICULA;
        $unProfesional['ID_SITUACION_MATRICULA'] = $p->ID_BAJA;
        $unProfesional['LIBRO'] = $p->LIBRO_MATRICULA;  
        $unProfesional['FOLIO'] = $p->FOLIO_MATRICULA;
        $unProfesional['ACTA'] = "";
        $unProfesional['EXPEDIENTE'] = "";
        $unProfesional['COMENTARIO'] = $p->COMENTARIO_MATRICULA;
        if (('numeromatricula' > '100000') && ('fechamatricula' < '01/01/2013')) {
            $unProfesional['REMATRICULACION'] = 'SI';   
        }
        else {
            $unProfesional['REMATRICULACION'] = 'NO';
        }
        $unProfesional['ID_ORIGEN_EMITE'] = "";                                                               
        $unProfesional['CALLE'] = $p->CALLE_RESIDENCIA; 
        $unProfesional['CALLE_NRO'] = $p->NUMERO_RESIDENCIA;
        $unProfesional['CALLE_PISO'] = $p->PISO_RESIDENCIA;
        $unProfesional['CALLE_DPTO'] = $p->DPTO_RESIDENCIA;
        $unProfesional['ID_LOCALIDAD_DOMICILIO'] = $p->LOC_RESIDENCIA;
        $unProfesional['ID_PROVINCIA_DOMICILIO'] = $p->PROV_RESIDENCIA;
        $unProfesional['ID_PAIS_DOMICILIO'] = '1';
        $unProfesional['CP'] = $p->CP_RESIDENCIA;
        if (isset($p->TELEFONO_ID)) {
            $telefonos = $this->service_model->getAllProfesionalesTel($p->PROFESIONAL_ID);
            $unProfesional['TIENE_TELEFONO'] = 'SI';
            for ($i = 1; $i <= 4; $i++) { 
                $telefono = $telefonos->row($i-1);
                if ($i <= $telefonos->num_rows()) {
                    $unProfesional["ID_TIPO_TE$i"] = isset($telefono->TIPO_TELEFONO_ID) ? $telefono->TIPO_TELEFONO_ID : "";
                    $unProfesional["TE$i"] = isset($telefono->NUMERO) ? $telefono->NUMERO : ""; 
                }               
                else {
                    $unProfesional["ID_TIPO_TE$i"] = "";
                    $unProfesional["TE$i"] = "";
                }                   
            }
        } 
        else{
            $unProfesional['TIENE_TELEFONO'] = 'NO'; 
            $unProfesional['ID_TIPO_TE1'] = "";
            $unProfesional['ID_TIPO_TE2'] = "";
            $unProfesional['ID_TIPO_TE3'] = "";
            $unProfesional['ID_TIPO_TE4'] = "";
            $unProfesional['TE1'] = "";
            $unProfesional['TE2'] = "";
            $unProfesional['TE3'] = "";
            $unProfesional['TE4'] = "";
        }
    }


    $peticionWS = array("usuario" => "mcariste", "clave" => "IYEOQLKFBY" , "profesional" => $unProfesional );

    // Defino URL del REST a consumir

    $ch = curl_init();

    //Opciones de cURL
    curl_setopt($ch, CURLOPT_URL, "https://sisa.msal.gov.ar/sisa/services/rest/profesional/insertar");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);


    // Formateo parámetro para enviar al REST
    $json = array(json_encode($peticionWS));

 //     var_dump($json); die()

    // Opciones de configuración de CURL
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('X-HTTP-Method-Override: PUT'));
    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($json));


    // Realizo la llamada al REST
    $respuesta = curl_exec($ch);

    var_dump($respuesta); die();

    if ($respuesta === false) {
        $info = curl_getinfo($ch);
        curl_close($ch);
        die('ocurrio un error durante la llamada al REST SIISA. Info: ' . var_export($info));
    } 

    curl_close($ch);


    // Proceso la respuesta obtenida 
    $decoded = json_decode($respuesta);
    if (isset($decoded->respuesta->estado) && $decoded->respuesta->estado == 'ERROR_AUTENTICACION') {
        // Se muestra el problema
        echo "Ocurrio un Error";
    }

    if (isset($decoded->respuesta->estado) && $decoded->respuesta->estado == 'OK') {
        // Todo bien, continuo enviando los demás profesionales
        echo "Se cargo bien el profesional";
    }
}
}
  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
    • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
    • ¥16 mybatis的代理对象无法通过@Autowired装填
    • ¥15 可见光定位matlab仿真
    • ¥15 arduino 四自由度机械臂
    • ¥15 wordpress 产品图片 GIF 没法显示
    • ¥15 求三国群英传pl国战时间的修改方法
    • ¥15 matlab代码代写,需写出详细代码,代价私
    • ¥15 ROS系统搭建请教(跨境电商用途)
    • ¥15 AIC3204的示例代码有吗,想用AIC3204测量血氧,找不到相关的代码。