Ir para conteúdo

Arquivado

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

InterPlanet

[Resolvido] Problema com retorno em xml usando cURL

Recommended Posts

Olá, boa tarde a todos!

 

Estou com o seguinte problema:

- O sistema vai gerar um xml para retorno, alternativa ao retorno em string para dar explode, o xml, está ok [ link ], mas quando pego o retorno do cURL e tento transformar em array com uma classe xml aqui, nao funfa!

 

 

Impressão do XML [ 'http://www.ipis.com.br/sistemas/correio/xml.php' ]:

<?
$var = '
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--IPIS - https://ipis.com.br-->
<!--Fernando Lima - fernando@ipis.com.br-->
<Retorno>
<CEP>
 <Origem>
 <CEP>59010660</CEP>
 <Cidade>Cidade</Cidade>
 <Regiao>Regiao</Regiao>
 <Estado>UF</Estado>
 <Erro>0</Erro>
 <Mensagem />
 </Origem>
 <Destino>
 <CEP>59010660</CEP>
 <Cidade>Cidade</Cidade>
 <Regiao>Regiao</Regiao>
 <Estado>UF</Estado>
 <Erro>0</Erro>
 <Mensagem />
 </Destino>
</CEP>
<Sevicos>
 <PAC>
 <Codigo>41106</Codigo>
 <Valor>39,10</Valor>
 <ValorSeguro>39,10</ValorSeguro>
 <Erro>0</Erro>
 <Mensagem />
 </PAC>
 <Sedex>
 <Codigo>41010</Codigo>
 <Valor>39,10</Valor>
 <ValorSeguro>39,10</ValorSeguro>
 <Erro>0</Erro>
 <Mensagem />
 </Sedex>
</Sevicos>
<Consulta>
 <Data>Data</Data>
 <Hora>Hora</Hora>
 <Cliente>Cliente</Cliente>
 <Cliente_Nome>Cliente_Nome</Cliente_Nome>
 <IP>IP</IP>
 <cID>cID</cID>
</Consulta>
</Retorno>
';

Echo $var;
?>

 

Função em questão:

<?
include('sis/classes/xmlLib.php');

$URL = 'http://www.ipis.com.br/sistemas/correio/xml.php';
$cURL = Geral_cURL($URL);
If (empty($cURL['Erro']))
 { $XML = new XMLToArray($cURL['Retorno'], array(), array(), false, false);
 $Dados = $XML->getArray();

 b($Dados); // esta funcao da um print_r com <pre> so pra eu conferir o array.

 } Else { Echo 'Erro: '.$cURL['Desc']; }
?>

 

A dúvida é? Preciso ao invés de dar um echo no xml, gerar um arquivo xml com o resultado no servidor e redireconar pra ele?

 

Grato.

 

Alguém com uma luz divina pra iluminar meu codigo?

:D

 

Ó, o cURL, se mando imprimir o retorno, ele me da uma string:

 

<?
Echo $cURL['Retorno'];
?>

Imprime aqui:
59010660 Cidade Regiao UF 0 59010660 Cidade Regiao UF 0 41106 39,10 39,10 0 41010 39,10 39,10 0 Data Hora Cliente Cliente_Nome IP cID

Acho que vou transformar o echo num arquivo xml pra ver no que da! Aguardo qualquer luz ai.

 

[Resolvido]

 

Não achei uma solução, pois, não sei porque (esse é o meu primeiro xml, hauahuaaua!) tava dando pau na primeira linha do xml ou nos comentarios!

 

Removi isso da geração do xml:

<?xml version="1.0" encoding="ISO-8859-1"?>
<!--IPIS - https://ipis.com.br-->
<!--Fernando Lima - fernando@ipis.com.br-->

e funfou!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok João. Irei estudar o assunto assim que terminar as coisas mais urgentes aqui, conforme supracitado, "contornei o problema" removendo a codificação. Ex: https://www.ipis.com.br/sistemas/correio/frete.php?Origem=59010660&Destino=03510000&Servico=2&Peso=3.500&Valor=150.00

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.