Hola
Tengo un problema ,ya que me devulve de respuesta
Response not of type text/xml: text/html
boolean false
Lo que quiero hacer es pasar el parametro del id de un usuario y qeu el web service me devuelva los datos de un usuario
La tabla es simplemente una tabla usuarios con usr_id,usr_login,usr_pass
Estoy trabajando con codeigniter
Gracias de antemano
El servidor
[java]
<?php
class Servidor_nusoap extends CI_Controller{
var $NuSoap_server;
function __construct() {
parent::__construct();
// Instanciamos la clase servidor de nusoap
$this->NuSoap_server = new nusoap_server();
// Creamos el End Point, es decir, el lugar donde la petición cliente va a buscar la estructura del WSDL
// aunque hay que recordar que nusoap genera dinámicamente dicha estructura XML
$end_point = 'http://localhost/ci_...ap/index/wsdl';
$this->NuSoap_server->configureWSDL('UsuariosWSDL', 'urn:UsuariosWDSL', $end_point, 'rpc');
$this->NuSoap_server->wsdl->addComplexType(
'Usuarios' # Creamos nuestro propio tipo de datos, llamado Usuarios, lo vamos a utilizar para regresar la respuesta
, 'complexType' # Es de tipo complejo, es decir, un array o array asociativo
, 'array' # Su equivalencia en PHP en este caso, es de tipo array, ('struct' equivale a array asociativo)
, '' # Composición: 'all' | 'sequence' | 'choice', en nuestro caso no aplica
, 'SOAP-ENC:Array' # Cómo se debe tratar y validar esta estructura de dato
, array( # Los elementos del array
'id' => array('name' => 'id', 'type' => 'xsd:int')
, 'login' => array('name' => 'login', 'type' => 'xsd:string')
, 'pass' => array('name' => 'pass', 'type' => 'xsd:string')
)
);
$this->NuSoap_server->register(
'Servidor_nusoap..obtenerUsuario' # El nombre de la función PHP: Clase.método ó Clase..método
, array('id' => 'xsd:int') # Qué datos recibe
, array('return' => 'tns:Usuarios') # Qué datos regresa, aquí se aprecia nuestro propio tipo de datos que definimos en addComplexType()
, 'urn:UsuariosWSDL' # El elemento namespace de nuestro método
, 'urn:UsuariosWSDL#obtenerUsuario' # La acción u operación de nuestro método
, 'rpc' # El estilo del XML
, 'encoded' # Cómo se usa: 'literal' | 'encode'
, "Provee el nombre completo de un usuario del cual se conoce su ID." # Texto de ayuda de nuestro método
);
}
function index() {
$_SERVER['QUERY_STRING'] = '';
if ( $this->uri->segment(3) == 'wsdl' ) {
$_SERVER['QUERY_STRING'] = 'wsdl';
} // endif
$this->NuSoap_server->service(file_get_contents('php://input'));
} // end function
function obtenerUsuario($id_usuario) {
$this->db->where('id', $id_usuario);
$resultad=$this->db->get('usuarios')->result();
foreach($resultad as $resultado){
$row = array(
array(
'id' => $resultado->usr_id
, 'login' => $resultado->usr_login
, 'pass' => $resultado->usr_pass
)
);
}
return $row;
} // end function
}
?>
[/java]
Y el cliente
[java]
<?php
class Cliente_nusoap extends CI_Controller{
function __construct() {
parent::__construct();
}
function traer_usuario() {
// Instanciamos la clase cliente de nusoap
$client = new nusoap_client('http://localhost/ci_...ap/index/wsdl', 'wsdl');
$parts = array('id' => 2);
$result = $client->call("Servidor_nusoap..obtenerUsuario", $parts);
$sError = $client->getError();
if($sError){
echo $sError;
}
var_dump($result);
//return $result;
print_r($result);
}
}
?>
[/java]

Problema con respuesta de webservice
Started by
squall2501
, Mar 07 2012 03:30 PM
No replies to this topic