Foros del Web » Programando para Internet » PHP »

Problema nuSOAP

Estas en el tema de Problema nuSOAP en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 11/12/2009, 23:20
 
Fecha de Ingreso: junio-2009
Mensajes: 20
Antigüedad: 14 años, 9 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.
  #2 (permalink)  
Antiguo 12/12/2009, 00:15
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Respuesta: Problema nuSOAP

¿y verificaste estés recibiendo correctamente el formulario?. POR FAVOR, utiliza las variables superglobales ... $_POST en este tu caso.

www.php.net/variables.external

__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #3 (permalink)  
Antiguo 12/12/2009, 11:23
 
Fecha de Ingreso: junio-2009
Mensajes: 20
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Problema nuSOAP

Gracias por tu respuesta pero no sale nada de todos modos.

Y lo que pasa desde que empece el proyecto he tenido las variables globales activadas y quiero saber la manera de que esto funcione asi.

Sabes de algun link donde pueda ver un ejemplo de un web service con nusoap y php pero que utilice una conexion a mysql?

Lo que quiero es solo hacer una consulta a la tabla almacen donde meta el id del producto y me devuelva la existencia.

La tabla es algo asi:

almacen(id_producto int(4), existencia int(4));

Gracias por tu ayuda.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:28.