La base de datos la hice en phpmyadmin y trabajo con xampp corriendo los servicios de mysql y apache, en el localhost.
El codigo del servidor es:
Código PHP:
Ver original
<?php // Modificado para añadir la busqueda por nombre // Modificado para utilizar nuSOAP // Deshabilitar cache //llamada a librería nusoap require_once('lib/nusoap.php'); //generar instancia de soap_server $servidor = new soap_server(); $servidor->configureWSDL('codeappwsdl', 'urn:codeappwsdl'); // Conexion a la Base de Datos //function dbConnect() //{ // $conn=mysql_connect("localhost", "root", ""); // mysql_select_db('web',$conn); //} // Consultar usuarios por Nombre // SQL = SELECT * FROM `agenda` WHERE nombre LIKE '%dr%' function ConsultaUsuarios($nom) { //-----------------------------llamada a BD--------------------------------- //$conn = dbConnect(); $sql = "SELECT * FROM `web`.`agenda` WHERE nombre LIKE '$nom'"; $id=$fila['id']; $nombre=$fila['nombre']; $apellidos=$fila['apellidos']; $telefono=$fila['telefono']; $extension=$fila['extension']; $departamento=$fila['departamento']; $interno=$fila['interno']; $email=$fila['email']; // Cada registro de información se introduce en un array asociativo 'Telefono'=>$telefono, 'Departamento'=>$departamento,'Email'=>$email); } /*----------------------------fin llamada a BD-------------------------------*/ return $arrusers; } // Consultar un usuario por ID function ConsultaUsuario($id) { /*-----------------------------llamada a BD---------------------------------*/ $sql="SELECT * FROM `web`.`agenda` WHERE id=$id"; $id=$fila['id']; $nombre=$fila['nombre']; $apellidos=$fila['apellidos']; $telefono=$fila['telefono']; $extension=$fila['extension']; $departamento=$fila['departamento']; $interno=$fila['interno']; $email=$fila['email']; //Cada registro de información se introduce en un array asociativo 'Telefono'=>$telefono, 'Extension'=>$extension, 'Departamento'=>$departamento, 'Interno'=>$interno, 'Email'=>$email); } /*----------------------------fin llamada a BD-------------------------------*/ return $arrusers; } // Namespace del servicio $ns = "http://localhost:8080/webservice/listado.php?wsdl"; // Establecer nombre y namespace al servicio $servidor->configureWSDL('Consulta de usuarios',$ns); // configurar la estructura de los datos, // este arreglo es de tipo asociativo y contiene el nombre y tipo de dato. $servidor->wsdl->addComplexType( 'Estructura', 'complexType', 'struct', 'all', '', ) ); //configurar arreglo de la estructura $servidor->wsdl->addComplexType( 'ArregloDeEstructuras', 'complexType', 'array', 'sequence', 'http://schemas.xmlsoap.org/soap/encoding/:Array', 'wsdl:arrayType' => 'tns:Estructura[]' ) ),'tns:Estructura'); // registrar la funcion de consulta de usuario (por ID) $servidor->register('ConsultaUsuario', $ns, false, 'rpc', //tipo documento 'literal', //tipo codificacion 'Documentacion de consultaUsuarios') ; //documentacion // registrar la funcion de consulta de usuario (por nombre) $servidor->register('ConsultaUsuarios', $ns, false, 'rpc', //tipo documento 'literal', //tipo codificacion 'Documentacion de consultaUsuarios') ; //documentacion //Establecer servicio $input = $HTTP_RAW_POST_DATA; }else{ } $servidor->service($input); ?>
Obviamente accedi en el navegador para obtener la ruta del Webservice, para luego importarla con WSDLImport y generar listado.pas.
Y aqui el error: