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);
?>
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>
Id Producto:
Existencia:
Gracias de antemano por su ayuda.