Ir para conteúdo

POWERED BY:

Arquivado

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

CrazyLOL

Retorno de Webserivce

Recommended Posts

Galera to usando um webservice aqui e estou com um problema...

O retorno dele aparentemente vem em XML porém preciso fazer que ele vire JSON para enviar na minha página, o problema q quando uso json_encode nao funciona..

 

Quando estou dando um print_r() no meu resultado ele exibe dessa maneira:

stdClass Object ( [listTable] => id int 4 0 sigla varchar 2 0 uf varchar 30 0 ) 

estava vendo o retorno que ele tem por completo e está assim:

stdClass Object
(
    [listTable] => <?xml version="1.0" encoding="ISO-8859-1"?>
<list>
  <com.model.Table>
    <coluna>id</coluna>
    <tipo>int</tipo>
    <tamanho>4</tamanho>
    <nulo>0</nulo>
  </com.model.Table>
  <com.model.Table>
    <coluna>sigla</coluna>
    <tipo>varchar</tipo>
    <tamanho>2</tamanho>
    <nulo>0</nulo>
  </com.model.Table>
  <com.model.Table>
    <coluna>uf</coluna>
    <tipo>varchar</tipo>
    <tamanho>30</tamanho>
    <nulo>0</nulo>
  </com.model.Table>
</list>
)

Como que consigo acessar esses valores agora com json?

 

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiro transforme o XML em um objeto, depois utilize o encode, por exemplo:

$teste_json = json_encode(simplexml_load_file(‘arquivo.xml’));

Compartilhar este post


Link para o post
Compartilhar em outros sites

Serra, porém ele não é um arquivo..

 

Estou usando webservice..

 

Dessa maneira:

$client = new SoapClient('http://localhost:8090/ProcTabela?wsdl');
 
$function = 'listTable';
 
$arguments= array('listTable' => array(
                        'tabela'   => "uf",
                        'acess'      => 'USER',
                        'pass'        => 'TESTE2334'
                ));

$options = array('location' => 'http://localhost:8090/ProcTabela');
 
$result = $client->__soapCall($function, $arguments, $options);

print_r($result);

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu ainda não sei porque perco tempo tentando fazer os outros pensarem um pouco...

$teste_json = json_encode(simplexml_load_string($result));

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpe serra, na hora que postei esqueci de comentar que tinha feito já a substituição da maneira que você iria citar na postagem.

 

O erro retornou isto:

Warning: simplexml_load_string() expects parameter 1 to be string, object given in /var/www/ts/teste2.php on line 36

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.