Foros del Web » Programando para Internet » PHP » CodeIgniter »

[SOLUCIONADO] Configurar CodeIgniter con web service

Estas en el tema de Configurar CodeIgniter con web service en el foro de CodeIgniter en Foros del Web. Hola a todos estoy tratando de cambiar la forma de conexion de una aplicación que se conectaba mediante mysql a una base de datos y ...
  #1 (permalink)  
Antiguo 11/09/2013, 10:00
 
Fecha de Ingreso: julio-2013
Mensajes: 32
Antigüedad: 10 años, 8 meses
Puntos: 2
Configurar CodeIgniter con web service

Hola a todos estoy tratando de cambiar la forma de conexion de una aplicación que se conectaba mediante mysql a una base de datos y ahora quiero
que se conecte por ws, he relizado algunos cambios en el archivo application/config/database.php

Código PHP:
Ver original
  1. $active_group = 'default';
  2. $active_record = TRUE;
  3.  
  4.  
  5. $db['default']['hostname'] = "";
  6. $db['default']['username'] = "";
  7. $db['default']['password'] = "";
  8. $db['default']['database'] = "";
  9. $db['default']['dbdriver'] = "";
  10.  
  11.  
  12. $db['default']['dbprefix'] = '';
  13. $db['default']['pconnect'] = TRUE;
  14. $db['default']['db_debug'] = TRUE;
  15. $db['default']['cache_on'] = FALSE;
  16. $db['default']['cachedir'] = '';
  17. $db['default']['char_set'] = 'utf8';
  18. $db['default']['dbcollat'] = 'utf8_general_ci';
  19. $db['default']['swap_pre'] = '';
  20. $db['default']['autoinit'] = TRUE;
  21. $db['default']['stricton'] = FALSE;

he creado y agregado la libreria en application/libraries/ws_conf.php

Código PHP:
Ver original
  1. if (!defined('BASEPATH')) exit('No direct script access allowed');
  2.  
  3. class ws_conf {
  4.        
  5.     var $is_logged_in;
  6.     var $type;
  7.    
  8.     function is_logged($is_logged_in)
  9.     {      
  10.  
  11.         if(!isset($is_logged_in) || $is_logged_in != true){
  12.          echo "Necesitas autenticarte para acceder al sitio. <a href='../login'>Ingresa aqui.</a>";
  13.          die();  
  14.         }
  15.    
  16.        
  17.     }
  18.    
  19.     function is_SoapClient()
  20.     {      
  21.    
  22.    
  23.     $ws="http://ruta_ws";
  24.     $client = new SoapClient($ws, array('trace' => 1));
  25.     if($client == ""){
  26.          echo "NO hay conexion con el Web Service . <a href='../'>Verifica el Servicio.</a>";
  27.          die();
  28.     }
  29.    
  30.     return $client;
  31.        
  32.     }
  33.    
  34.        
  35. }

he configurado el controlador principal de la siguiente forma

Código PHP:
Ver original
  1. class Login extends CI_Controller {
  2.  
  3.  
  4.  
  5.     public function index()
  6.     {      
  7.       $this->load->library('session');
  8.       $data['main_content'] = 'login_form';
  9.       $this->load->view('includes/template',$data);
  10.       $this->load->library('ws_conf');
  11.       $this->ws_conf->is_SoapClient();  // conexion  web service soap
  12.        
  13.                
  14.     }
  15.    
  16.     function validate_credentials()
  17.     {  
  18.         $this->load->library('ws_conf');
  19.         $ws=$this->ws_conf->is_SoapClient();    // conexion  web service soap
  20.         $this->load->model('membership_model');
  21.         $query = $this->membership_model->validate();
  22.         $uname=$this->input->post('username');
  23.         $pass=$this->input->post('password');
  24.    
  25.     }
  26.       }



y por último he configurado el model membership_model.php de la siguiente forma

Código PHP:
Ver original
  1. class Membership_model extends CI_Model {
  2.  
  3. function validate($client)
  4.     {
  5.  
  6.             $user=$this->input->post('username');
  7.         $pass=$this->input->post('password');
  8.         $pass=md5($pass);
  9.        
  10.        
  11.         $result =$client ->login($user,$pass);// Login es un método del ws
  12.        
  13.        
  14.         return  $result->statusDescription;
  15.        
  16.     }
  17.  
  18. }

y lo único que obtengo a intentar entrar al a aplicaión es


An Error Was Encountered
You have not selected a database type to connect to.


No puedo entrar al login ni nada solo me sale eso no se si me falte configurar algo o que =/ ayuda xfavor.
  #2 (permalink)  
Antiguo 11/09/2013, 12:47
Avatar de p3rikl3s  
Fecha de Ingreso: febrero-2009
Ubicación: Valencia
Mensajes: 216
Antigüedad: 15 años, 2 meses
Puntos: 9
Respuesta: Configurar CodeIgniter con web service

En database.php debes indicar la base de datos a la que te deseas conectar
__________________
También me hago llamar Tropiburguer. Sígueme en twitter: @tropiburguer
  #3 (permalink)  
Antiguo 19/09/2013, 12:19
 
Fecha de Ingreso: julio-2013
Mensajes: 32
Antigüedad: 10 años, 8 meses
Puntos: 2
Respuesta: Configurar CodeIgniter con web service

Hola p3rikl3s gracias por tu respuesta, sin embargo yo lo que quería era hace runa conexion con web service no directo a base de datos, la solución es la siguiente:

En application/config/autoload.php remplazar la línea $autoload['libraries'] por lo siguiente:

Código PHP:
Ver original
  1. $autoload['libraries'] = array('session','table');


Saludos.

Etiquetas: service
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:43.