Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/12/2008, 12:36
hacker_man
 
Fecha de Ingreso: diciembre-2008
Mensajes: 2
Antigüedad: 15 años, 4 meses
Puntos: 0
Error al leer datos de un web service

Saludos:
Necesito de su ayuda urgente, estoy usando un web service de mi universidad para hacer un login en un sistema que estoy haciendo, y me sale este error:

Fatal error: Cannot use string offset as an array in /home/.../login.php on line 59

y la linea 59 tiene esto:

$cedula = $result['datosUsuarioResult']['diffgram']['NewDataSet']['DATOS_USUARIO']['CEDULA'];

por lo que he investigado es a causa de PHP 5, porque en la version 4 funcionaba muy bien.

Agradeceria cualquier ayuda que me puedan brindar.


Este es el codigo completo que uso:

require_once('lib/nusoap.php');
$client = new nusoap_client('https://www.academico.espol.edu.ec/services/directorioEspol.asmx?WSDL', true);
$params = '<datosUsuario xmlns="http://academico.espol.edu.ec/webservices/"><varUser>'.$_POST['usser'].'</varUser><varContrasenia>'.$_POST['usu_password'].'</varContrasenia></datosUsuario>';
$client->setUseCurl(true);
$result = $client->call('datosUsuario',$params,'http://academico.espol.edu.ec/webservices/','http://academico.espol.edu.ec/webservices/datosUsuario');


$cedula = $result['datosUsuarioResult']['diffgram']['NewDataSet']['DATOS_USUARIO']['CEDULA'];
$matricula = $result['datosUsuarioResult']['diffgram']['NewDataSet']['DATOS_USUARIO']['MATRICULA'];
$nombre_completo = $result['datosUsuarioResult']['diffgram']['NewDataSet']['DATOS_USUARIO']['NOMBRE_COMPLETO'];
$nombres = $result['datosUsuarioResult']['diffgram']['NewDataSet']['DATOS_USUARIO']['NOMBRES'];
$apellidos = $result['datosUsuarioResult']['diffgram']['NewDataSet']['DATOS_USUARIO']['APELLIDOS'];

Explico un poco mas como funciona, tengo un sistema para estudiantes que deben ingresar el user y password de su cuenta de correo de la facultad, para esto la universidad tiene un web service.
El login funcionaba muy bien cuando el servidor tenia PHP 4 pero ahora tiene PHP 5 y no me funca.
Yo creo que va por el lado de la forma como le asigno la variable.

Muchas gracias por toda la ayuda.

Y al usar print_r($result) no me sale nada.... no muestra nada...


Ya le probe... le puse:
echo '----->'.var_dump($result).'<-----';

y me salio:
string(0) "" -----><-----
Quizas este usando mal la llamada al web service..

Última edición por hacker_man; 10/12/2008 a las 15:31