Foros del Web » Programando para Internet » PHP »

WebService Nusoap PHP y C#

Estas en el tema de WebService Nusoap PHP y C# en el foro de PHP en Foros del Web. Que tal soy nuevo en PHP, normalmente realizo servicios web en Java o net. ahora me toca hacer un servicio web com php. encontre la ...
  #1 (permalink)  
Antiguo 01/08/2011, 21:09
Avatar de Modern_Crusades  
Fecha de Ingreso: junio-2005
Mensajes: 620
Antigüedad: 19 años, 4 meses
Puntos: 1
Pregunta WebService Nusoap PHP y C#

Que tal soy nuevo en PHP, normalmente realizo servicios web en Java o net.
ahora me toca hacer un servicio web com php. encontre la libreria nusoap y baje la ultima que esta en el source forge el codigo de mi servicio es el siguiente, cuando no regresaba yo una lista de producto y solo regreso un producto al agregar la referencia al servicio en el visual studio 2010 todo funciona perfecto, tal y como otros web services que he usado. pero al querer regresar una lista de objetos osease un array de arrays no lo ve no me genera bien la referencia en otras palabras no recupera bien la informacion dle servicio.

cualquier ayuda es apreciada.

PHP- con Notepad++ y xdebug.
C#- Visual Studio 2010 .net 4.0
servidor de prueba WampServer con php 5.2.6
myql 5.0.1
Nusoap 0.95

Production Server
XAMP PHP 5.2.11
mysql 5.1

en ambos me sucede el mismo error.
Código:
<?php
include('lib/nusoap.php');
$server = new soap_server;
$server->configureWSDL('obtenerProductos', 'urn:obtenerProductos');          
$server->wsdl->addComplexType('RenglonProducto','complexType','struct','all','',
               array(
                        'Id_Producto' => array('name' => 'Id_Producto', 'type' => 'xsd:string'),
                        'Codigo' => array('name' => 'Codigo', 'type' => 'xsd:string'),
                        'Descripcion' => array('name' => 'Descripcion', 'type' => 'xsd:string' ),
                        'PrecioBaseVenta' => array('name' => 'PrecioBaseVenta', 'type' => 'xsd:string' ),
                        ));
$server->wsdl->addComplexType('ArrayOfRenglonProducto','complexType','array','','SOAP-ENC:Array',
array(),
array(        
			array('ref' => 'SOAP-ENC:arrayType',
                  'wsdl:arrayType' => 'tns:RenglonProducto[]'                              
				  )                                       
	),
'tns:RenglonProducto');
$server->xml_encoding = "utf-8";
$server->soap_defencoding = "utf-8";
$server->register('obtenerProductos',
                  array('Id_Producto' => 'xsd:int'),
                  array('return'=>'tns:'ArrayOfRenglonProducto'),
                  'urn:Servicio',
                  'urn:Servicio#obtenerProductos',
                  'rpc',
                  'literal',
                  'Este método devuelve la lista de  productos.');                            

function obtenerProductos($id){
     $con = new mysqli("localhost","admin","admin","mybase");
    $sql = " SELECT Id_Producto, Codigo, Descripcion, PrecioBaseVenta FROM producto";
    $stmt = $con->prepare($sql);
    $stmt->execute();
    $stmt->bind_result($col1,$col2,$col3,$col4);
    //$stmt->fetch();
$i=0;
	while ($stmt->fetch()) {
       // printf ("%s (%s)\n", $row[0], $row[1]);
		$row[0] = $col1;
		$row[1] = $col2;
		$row[2] = $col3;
		$row[3] = $col4;
		$rows[$i]=$row;
		    echo $rows[1];

		$i=$i+1;
    }

    return $rows;//array('Id_Producto' => $row[0],'Codigo' => $row[1],'Descripcion' => $row[2],'PrecioBaseVenta' => $row[3]);

}
// 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);    
?>

Etiquetas: c#, nusoap, vs2010, webservice
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 12:21.