Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/12/2009, 23:20
LscaGonzalo
 
Fecha de Ingreso: junio-2009
Mensajes: 20
Antigüedad: 14 años, 10 meses
Puntos: 0
Problema nuSOAP

Hola a todos, estoy tratando de hacer un servicio web. Al parecer el servidor funciona correctamente, pero el cliente a la hora de hacer la petición no me muestra los datos que requiero. Cabe mencionar que tengo las variables de entorno activadas.

Mi codigo es el siguiente:

servidor.php

Código PHP:
<?php
include('../nusoap/lib/nusoap.php');
$server = new soap_server;
$server->configureWSDL('obtenerProducto''urn:obtenerProducto');          
$server->wsdl->addComplexType('producto','complexType','struct','all','',
               array(
                        
'id_producto' => array('name' => 'id_producto''type' => 'xsd:string'),
                        
'existencia' => array('name' => 'existencia''type' => 'xsd:string'),
                        ));
                        
$server->register('obtenerProducto',
                  array(
'id_producto' => 'xsd:int'),
                  array(
'return'=>'tns:producto'),
                  
'urn:obtenerProducto',
                  
'urn:obtenerProducto#producto',
                  
'rpc',
                  
'encoded',
                  
'Este método devuelve un producto.');                            

function 
obtenerProducto($id){
    
$con = new mysqli("","","","");
    
$sql " SELECT id_producto, existencia FROM almacen where id_producto = $id ";
    
$stmt $con->prepare($sql);
    
$stmt->execute();
    
$stmt->bind_result($col1,$col2);
    
$stmt->fetch();
    
$row[0] = $col1;
    
$row[1] = $col2;
    return array(
'id_producto' => $row[0],'existencia' => $row[1]);

}
// Use the request to (try to) invoke the service
$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA '';
$server->service($HTTP_RAW_POST_DATA);    
?>
cliente.php

Código PHP:
<?php    
require('../nusoap/lib/nusoap.php');
  
if(
$enviar){

$l_oClient = new soapclient('http://127.0.0.1/punto10/servicioweb/servidor.php?wsdl''wsdl');
$l_oProxy  $l_oClient->getProxy();
        
$parametro $id_producto;
$l_stResult $l_oProxy->obtenerProducto($parametro);
      

   print 
'<h1>Producto :</h1>'
           
'<br>Id Producto: '  $l_stResult['id_producto']
           . 
'<br>Existencia : '   $l_stResult['existencia'];
}
          
?>

<form method="post" action="cliente.php">
<input type="text" name="id_producto"><br>
<input type="submit" name="enviar" value="ENVIAR">
</form>
No me marca ningún error: Simplemente cuando ingreso en el formulario por ejemplo el ID 1 no me regresa nada de información, solo me pone:

Id Producto:
Existencia:

Gracias de antemano por su ayuda.