Ver Mensaje Individual
  #5 (permalink)  
Antiguo 09/03/2010, 12:24
jspcat
 
Fecha de Ingreso: junio-2005
Ubicación: Barcelona
Mensajes: 458
Antigüedad: 19 años, 7 meses
Puntos: 4
Respuesta: Empezar con nusoap

Tienes toda la razon, he avanzado algo pero me surge un problema que intentare detallar mejor
Client.php

Código PHP:
<?php

require_once('../libs/nusoap/nusoap.php');


$oSoap = new soapclient('http://localhost/Project/WS/server.php?wsdl');

/*$err = $oSoap->getError();
if ($err)
{
    echo '<p><b>Error: ' . $err . '</b></p>';
}
*/
//$dato = $oSoap->call('HolaMundo',array('nombre' => 'Hollman'),'http://localhost/Project/WS/HolaMundo');
$dato=$oSoap->HolaMundo('Hollman');
$dato2=$oSoap->Buscar('Barcelona');

if (
$oSoap->fault)
{
    echo 
"Error al llamar el metodo<br/>".$oSoap->getError();
}
else 
{
    echo 
$dato;
    echo 
$dato2;
}
?>
server.php

Código PHP:
<?php
require_once('../libs/nusoap/nusoap.php');


function 
HolaMundo ($nombre)
{
    return 
"Hola ".$nombre;
}

function 
Buscar($query){
    
    return 
$query;
}


$server = new soap_server();
$ns="http://localhost/Project/WS";
$server->configurewsdl('server');
$server->wsdl->schematargetnamespace=$ns;
$server->register('HolaMundo',array('nombre' => 'xsd:string'),array('return' => 'xsd:string'),$ns);
$server->register('Buscar',array('query' => 'xsd:string'),array('return' => 'xsd:string'),$ns);

if (isset(
$HTTP_RAW_POST_DATA))
{
    
$input $HTTP_RAW_POST_DATA;
}
else
{
    
$input implode("\r\n"file('php://input'));
}
$server->service($input);
?>
Esto me da el siguiente error
Cita:
Fatal error: Uncaught SoapFault exception: [Client] Function ("Buscar") is not a valid method for this service in /var/www/Project/WS/client.php:16 Stack trace: #0 [internal function]: SoapClient->__call('Buscar', Array) #1 /var/www/Project/WS/client.php(16): SoapClient->Buscar('Barcelona') #2 {main} thrown in /var/www/Project/WS/client.php on line 16
Dice que Buscar no esta definida, pero no lo entiendo porque si que esta, es mas si en el cliente no llamo a

Código:
$dato2=$oSoap->Buscar('Barcelona');
y por supuesto no llamo a echo $dato2;
Me escribe bien el resultado de la primera funcion es decir
Cita:
Hola Hollman
Alguna idea de a que se puede deber esto??

Gracias

Saludos!
__________________
La ficción es y será mi única realidad