como enviar um array bidimensional via SOAP com PHP

31/01/2019

0

Boa noite

Estou implementado um webserver soap em PHP e preciso retornar um array assim:

array (size=2)
  0 => 
    array (size=4)
      'id' => string '1' (length=1)
      'nome' => string 'FABIO' (length=5)
      'senha' => string '123' (length=3)
      'grupo' => null
  1 => 
    array (size=4)
      'id' => string '2' (length=1)
      'nome' => string 'Fulano' (length=6)
      'senha' => string '123' (length=3)
      'grupo' => null


Mas não consigo, Strings normais ele retorna de boa. Vou precisar retornar vários registros do banco.
Alguém pode ajudar?

Segue código do server:

<?php
	
	include('lib/nusoap.php');
	
	
	$servidor = new nusoap_server();
	
	
	$servidor->configureWSDL('urn:Servidor');
	$servidor->wsdl->schemaTargetNamespace = 'urn:Servidor';
	
	
	function getUsers($id){
		include('banco.php');
		$sql = "select * from usuarios";
		$exec= mysqli_query($link, $sql) or die (mysqli_error());
		$rowli = mysqli_num_rows($exec);
		$nome = "";
		$senha = "";
		$resulta = array();
			while($registros = mysqli_fetch_row ($exec)){
				$resulta[] = array(
						'id'=>$registros[0],
						'nome'=>$registros[1],
						'senha'=>$registros[2],
						'grupo'=>$registros[3]
				);
			}
		mysqli_close($link);
		//$result = "TESTE";
		return($resulta);
	}
	
	
	$servidor->register(
		'getUsers',
		array('id'=>'xsd:int'),
		array('result'=>'xsd:string'),
		'urn:Servidor.getUsers',
		'urn:Servidor.getUsers',
		'rpc',
		'encoded',
		'RETORNA OS USUSRIOS CADASTRADOS NO BANCO.'
	);
	
	
	$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : '';
	$servidor->service($HTTP_RAW_POST_DATA);
	
	$f = fopen('log.txt','w');
		fwrite($f,$HTTP_RAW_POST_DATA);
		fclose($f);
?>
Fabiojaime

Fabiojaime

Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar