Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/09/2014, 17:49
cristian_fg
 
Fecha de Ingreso: abril-2012
Mensajes: 61
Antigüedad: 12 años
Puntos: 1
Retornar Array Servicio Web en PHP

Hola a todos otra vez.... estoy sin poder solucionar esto.
Necesito pasar un array para despues poder llenar un datagridview y la unica forma mediante un servicio web es asi... ahora bien no se como pasarlo. Paso el codigo en PHP a ver si alguien me puede ayudar.

Cita:
require_once('lib/nusoap.php');

// Create server object
$server = new soap_server();

// configure WSDL
$server->configureWSDL('PHP Web Services return array', 'urn:returnArray'); //- See more at: http://my-source-codes.blogspot.com.....YIxlfr8x.dpuf
// Complex Type Struct for return array

$server->wsdl->addComplexType('array_php',
'complexType',
'struct',
'all',
'',
array(
'id' => array('id' => 'id', 'type' => 'xsd:string'),
'firstname' => array('name' => 'firstname', 'type' => 'xsd:string'),
'lastname' => array('name' => 'lastname', 'type' => 'xsd:string'),
'email' => array('name' => 'email', 'type' => 'xsd:string')
)
);

$server->wsdl->addComplexType('return_array_php',
'complexType',
'array',
'all',
'SOAP-ENC:Array',
array(),
array(
array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:array_php[]')
),
'tns:array_php' );


$server->register('get_data',
array('limit_start' => 'xsd:int','limit_end' => 'xsd:int'),
array('return' => 'tns:return_array_php'),
$ns,
$ns.'#get_data',
'rpc',
'encoded',
'Returns array data in php web service'
);

function get_data($limit_start,$limit_end)
{ /* you can use mysql and your logic here this is sample array */
$array_rtr=array();

$array_rtr[0]['id']=0;
$array_rtr[0]['firstname']='Nikunj';
$array_rtr[0]['lastname']='Gandhi';
$array_rtr[0]['email']='[email protected]';

$array_rtr[1]['id']=1;
$array_rtr[1]['firstname']='ABC';
$array_rtr[1]['lastname']='EGF';
$array_rtr[1]['email']='[email protected]';

$array_rtr[2]['id']=2;
$array_rtr[2]['firstname']='XYZ';
$array_rtr[2]['lastname']='ZYX';
$array_rtr[2]['email']='[email protected]';

$array_rtr[3]['id']=3;
$array_rtr[3]['firstname']='zcds';
$array_rtr[3]['lastname']='asdsa';
$array_rtr[3]['email']='[email protected]';

$array_rtr[4]['id']=4;
$array_rtr[4]['firstname']='zxyctuzy';
$array_rtr[4]['lastname']='zxkjch';
$array_rtr[4]['email']='[email protected]';


$return=array();

for($i=$limit_start;$i<=$limit_end;$i++){
$return[$i]=$array_rtr[$i];
}

return $return;

}

$server->service($HTTP_RAW_POST_DATA);
Espero me puedan ayudar.
Saludos y gracias