Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Marcoos Soares

Ajuda com Soap php

Recommended Posts

Boa tarde galera!

Estou tentando consumir dados de um webservice soap, mas nao estou conseguindo.. Há algo que não estou conseguindo fazer e vim pedir uma ajuda de voces para conseguir ler isso. Segue a estrutura:

stdClass Object ( 
[SelectStatusAllResult] => stdClass Object ( 
	[PedidoStatusInfo] => Array ( 
		[0] => stdClass Object ( 
			[PedidoId] => 736935 
			[Status] => stdClass Object ( 
				[PedidoStatusPedidoInfo] => Array ( 
					[0] => stdClass Object ( 
						[PedidoSituacaoPedidoId] => 35876 
						[PedidoId] => 736935 
						[GatewayId] => 
						[SituacaoPedidoId] => Separado 
						[Mensagem] => Alterado 
						[StatusEnvio] => Desatualizado 
						[DataAtualizacao] => 2016-06-10T10:14:20.053 
					) 
					[1] => stdClass Object ( 
						[PedidoSituacaoPedidoId] => 36160 
						[PedidoId] => 736935 
						[GatewayId] => 
						[SituacaoPedidoId] => PedidoEnviado 
						[Mensagem] => Alterado  
						[StatusEnvio] => Enviado 
						[DataAtualizacao] => 2016-06-13T11:14:20.99 
					)
					[2] => stdClass Object ( 
						[PedidoSituacaoPedidoId] => 35852 
						[PedidoId] => 736935 
						[GatewayId] => 1 
						[SituacaoPedidoId] => AguardandoLiberacao 
						[StatusEnvio] => Desatualizado 
						[DataAtualizacao] => 2016-06-10T09:43:51.75 
					) 
					[3] => stdClass Object (
						[PedidoSituacaoPedidoId] => 35862
						[PedidoId] => 736935 
						[GatewayId] => 1 
						[SituacaoPedidoId] => PedidoAutorizado 
						[StatusEnvio] => Desatualizado 
						[DataAtualizacao] => 2016-06-10T09:54:43.227 
					) 
					[4] => stdClass Object ( 
						[PedidoSituacaoPedidoId] => 35875 
						[PedidoId] => 736935 
						[GatewayId] => 1 
						[SituacaoPedidoId] => PedidoPago 
						[StatusEnvio] => Desatualizado 
						[DataAtualizacao] => 2016-06-10T10:09:49.133 
					) 
					[5] => stdClass Object ( 
						[PedidoSituacaoPedidoId] => 35874 
						[PedidoId] => 736935 
						[GatewayId] => 6 
						[SituacaoPedidoId] => Encomendado 
						[Mensagem] => Alterado via Backoffice 
						[StatusEnvio] => Desatualizado 
						[DataAtualizacao] => 2016-06-10T10:04:41.237  
					) 
				) 
			)
		) 
	) 
) 
)

e eu to tentando ler isso com o seguinte codigo:

$client = new SoapClient('http://xxxxxxxxxxxxxx/SyncPedidoStatus.asmx?WSDL');
 
$function = 'SelectStatusAll';
 
$arguments= array('SelectStatusAll' => array(
                        'token'   => 'xxxxxxxxxxxxxx-xxx-xxxxxx-xxxxxxxxxx-xxxxxxxxxxxxxxxx'
                ));
//$options = array('PedidoId' => 'http://xxxxxxxxxxxxxx/SyncPedidoStatus.asmx');
 
$result = $client->__soapCall($function, $arguments/*, $options*/);



//print_r($result);

foreach ($result->SelectStatusAllResult->PedidoStatusInfo->PedidoId->PedidoStatusPedidoInfo as $message) {
  echo $message;
}

Onde estou errando?

Agradeço muito se puderem me ajudar.

Abração

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você não está considerando que alguns elementos são arrays e aonde está a informação que quer acessar.

- PedidosStatusInfo é um array, com uma única posição;

- PedidoId só contem um numero e não uma stdClass;

- O array que você está tentando iterar está em Status e não em PedidoId;

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.