gente, ya resolvi el problema, logre imprimir los resultados en el cliente.php, les dejo el codigo para los q se topan con este problema,
server.php
Código PHP:
Ver original<?php
require_once('../mysql4/cn.php');
include('../lib/nusoap.php');
$server = new soap_server;
// $server->configureWSDL('obtenerProductos', 'urn:obtenerProductos');
$ns = "http://localhost/ws/mysql3/";
$server->configureWSDL("obtenerProductos",$ns);
$server->wsdl->schematargetnamespace=$ns;
$server->wsdl->addComplexType('RenglonProducto','complexType','struct','all','',
'Codigo' => array('name' => 'Codigo', 'type' => 'xsd:string'), 'Nombre' => array('name' => 'Nombre', 'type' => 'xsd:string'), 'Descripcion' => array('name' => 'Descripcion', 'type' => 'xsd:string' ), 'Stock' => array('name' => 'Stock', 'type' => 'xsd:string' ), ));
$server->wsdl->addComplexType('ArrayOfRenglonProducto','complexType','array','','SOAP-ENC:Array',
array('ref' => 'SOAP-ENC:arrayType', 'wsdl:arrayType' => 'tns:RenglonProducto[]'
)
),
'tns:RenglonProducto');
function obtenerProductos($id=false){
$sql = "SELECT ID_PRODUCTO, NOM_PRODUCTO, DES_PRODUCTO, STOCK FROM tab_producto order by ID_PRODUCTO";
$link = ConectarBase();
$rs = ConsultarBase($link,$sql);
$n=0;
$html[$n]['Codigo'] =$row[0];
$html[$n]['Nombre'] =$row[1];
$html[$n]['Descripcion'] =$row[2];
$html[$n]['Stock'] =$row[3];
$n++;
// $rows[] = $html;
}
return $html;
}
$server->xml_encoding = "utf-8";
$server->soap_defencoding = "utf-8";
$server->register('obtenerProductos',
array('Codigo' => 'xsd:int'), array('return'=>'tns:ArrayOfRenglonProducto'), $ns
// 'urn:Servicio',
// 'urn:Servicio#obtenerProductos',
// 'rpc',
// 'literal',
// 'Este método devuelve la lista de productos.'
);
// 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:
Ver original<?php
// incluyo nusoap
require('../lib/nusoap.php');
$l_oClient = new nusoap_client('http://localhost/ws/mysql3/server.php?wsdl', 'wsdl');
$l_oProxy = $l_oClient->getProxy();
// llama al webmethod (obtenerProducto)
$parametro = isset($_GET['idProducto'])?
$_GET['idProducto']:''; $l_stResult = $l_oProxy->obtenerProductos($parametro);
// print('<pre>');
// print_r($l_stResult);
// print('</pre>');
$cadena = '';
$cadena .='<?xml version="1.0" encoding="utf-8"?><productos>
<producto>';
foreach($l_stResult as $row){
$cadena .=' <codigo>'.$row['Codigo'].'</codigo>
<nombre>'.$row['Nombre'].'</nombre>
<descripcion>'.$row['Descripcion'].'</descripcion>
<stock><![CDATA['.$row['Stock'].']]></stock>';
}
$cadena .=' </producto>
</productos>';
print($cadena);
?>
Saludos,