i'm doing client web service php rest. have url of method (insert) when launch client, response of server false. know if problem code, or server down. here code. i'm using 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() $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'; ($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 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"; } } }
Comments
Post a Comment