Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/02/2010, 04:49
sonofevil
 
Fecha de Ingreso: febrero-2010
Mensajes: 1
Antigüedad: 14 años, 2 meses
Puntos: 0
Exclamación Problemas con Servicio Web

Buenos días,

Estoy haciendo un WebService Cliente - Servidor con SOAP y no se me conecta el cliente con el servidor. Es un pequeño ejemplo para poder tirar hacia delante con la practica pero no hay manera de que se muestre ningún resultado desde el cliente.
Si alguien pudiera ayudarme se lo agradecería muchísimo.

El Client.php es:
Código PHP:
<?php

    
require_once("nusoap/lib/nusoap.php"); //incloem les llibreries de NuSOAP

    
$soapWSDL 'http://localhost/Practica3/Server.php'//specs WSDL
    
$proxyhost ''//no necessitem cap proxy
    
$proxyport '';
    
$proxyusername '';
    
$proxypassword '';
    
$client = new nusoap_client($soapWSDL'wsdl'$proxyhost$proxyport$proxyusername$proxypassword); //creem un client vinculat al wsdl
    
$err $client->getError();
    if (
$err) {
        echo 
'<p><b>Constructor error: ' $err '</b></p>';
    }

    
//cridem al mètode remot
    
$result $client->call('Suma', array('a' => 1'b' => 2), '''');
    
//mostrem els resultats sense format
    
print_r("<h2>Practica SOAP, WebService</h2><br><br>");
    
print_r("El Resultado de Suma es: " $result);

?>
Y el Server.php es:
Código PHP:
<?php

    $namespace 
'http://localhost/Practica3'//URI del server
    
require_once("nusoap/lib/nusoap.php");
    
$server = new soap_server();
    
$server->debug_flag false;
    
$server->configureWSDL("UnWebServiceSimple"$namespace);
    
$server->wsdl->schemaTargetNamespace $namespace;
    
//registrem un nou mètode que oferirà el servidor
    
$server->register('Suma',
    
// method name
        
array('a' => 'xsd:int''b' => 'xsd:int'),
        
// input parameters
        
array('return' => 'xsd:int'),
        
// output parameters
        
$namespace,
        
// namespace
        
$namespace '#Suma',
        
// soapaction
        
'rpc',
        
// style
        
'encoded',
        
// use
        
'Una suma simple'
        
// documentation
        
);
    
//Cos de la funció a oferir
    
function Suma($a$b)
    {
        return 
intval($a)+intval($b);
    }
    
    
//gestionar les dades que passin com a paràmetres HTTP
    
$HTTP_RAW_POST_DATA=isset($GLOBALS['HTTP_RAW_POST_DATA'])?
$GLOBALS['HTTP_RAW_POST_DATA'] : '';

    
$server->service($HTTP_RAW_POST_DATA);
    
    exit();
    
?>
Gracias de antemano por la ayuda.