Oi pessoal, tudo bem?
Eu estou usando um XML do Correio obtido no LINK:
http://www.correios.com.br/para-voce/correios-de-a-a-z/pdf/rastreamento-de-objetos/Manual_SROXML_28fev14.pdf
O retorno do XML sempre retorna um erro, e mostra o retorno do XML no erro.
Código:
<% 'Cria objeto de conexão dim httpOb set httpOb = Server.CreateObject("Msxml2.ServerXMLHTTP.6.0") 'Abre conexão com o servidor do SRO especificando o arquivo de entrada httpOb.Open "POST","http://websro.correios.com.br/sro_bin/sroii_xml.eventos", false 'Se a conexão for aberta, estabelece o cabeçalho e envia o código dos objetos httpOb.setRequestHeader "Content-Type","application/x-www-form-urlencoded" httpOb.Send "usuario=ECT&senha=SRO&tipo=L&Resultado=T&objetos=SW740080584BR" 'Armazena a resposta do servidor xml_out = httpOb.responseText 'Esvazia o objeto de conexão set httpObj = nothing 'Fim da conexão %> <% 'Instancia o objeto XMLDOM. Set objXMLDoc = CreateObject("Microsoft.XMLDOM") 'Indicamos que o download em segundo plano não é permitido objXMLDoc.async = False 'Carrega o domcumento XML objXMLDoc.load(xml_out) 'O método parseError contém informações sobre o último erro ocorrido if objXMLDoc.parseError <> 0 then response.write "Código do erro: " & objXMLDoc.parseError.errorCode & "<br>" response.write "Posição no arquivo: " & objXMLDoc.parseError.filepos & "<br>" response.write "Linha: " & objXMLDoc.parseError.line & "<br>" response.write "Posição na linha: " & objXMLDoc.parseError.linepos & "<br>" response.write "Descrição: " & objXMLDoc.parseError.reason & "<br>" response.write "Texto que causa o erro: " & objXMLDoc.parseError.srcText & "<br>" response.write "Url do arquivo com problemas: " & objXMLDoc.parseError.url else 'A propriedade documentElement refere-se à raiz do documento Set raiz = objXMLDoc.documentElement 'Looping para percorrer todos os elementos filhos For i = 0 to raiz.childNodes.length -1 'A propriedade NodeName contém o nome do elemento 'A propriedade childNodes contém a lista de 'elementos filhos Response.write raiz.NodeName & "<br>" & raiz.childNodes.item(i).childNodes.item(0).text & "<br>" & raiz.childNodes.item(i).childNodes.item(1).text Next end if 'Destruindo os objetos Set objXMLDoc = Nothing Set raiz = Nothing %>
Sempre retorna um erro.
Código do erro: -2147467261
Posição no arquivo: 0
Linha: 0
Posição na linha: 0
Descrição: Ponteiro inválido
Texto que causa o erro:
Url do arquivo com problemas: 1.0 1 Lista de Objetos Todos os eventos SW740080584BR BDE 01 13/05/2016 18:23 Objeto entregue ao destinatário CDD JUSTINOPOLIS 33900973 Ribeirao Das Neves MG 00046298 OEC 01 13/05/2016 10:16 Objeto saiu para entrega ao destinatário CDD JUSTINOPOLIS 33900973 Ribeirao Das Neves MG 00046298 DO 01 13/05/2016 05:52 Objeto encaminhado CTE BELO HORIZONTE 31276970 BELO HORIZONTE MG 00032594 CDD JUSTINOPOLIS 33900973 Ribeirao Das Neves Sao Januario MG DO 01 12/05/2016 22:45 Objeto encaminhado CTE VILA MARIA 02170975 Sao Paulo SP 00025621 CTE BELO HORIZONTE 31276970 BELO HORIZONTE Universitario MG RO 01 12/05/2016 17:20 Objeto encaminhado AC VILA RE 03658970 Sao Paulo SP 00024452 CTE VILA MARIA 02170975 Sao Paulo Parque Novo Mundo SP PO 01 12/05/2016 16:59 Objeto postado AC VILA RE 03658970 Sao Paulo SP 00024452
Como o XML retorna dentro do erro, eu não consigo separar nenhum campo.
Veja o XML do retorno:
Código do erro: -2147467261<br>Posição no arquivo: 0<br>Linha: 0<br>Posição na linha: 0<br>Descrição: Ponteiro inválido
<br>Texto que causa o erro: <br>Url do arquivo com problemas: <?xml version="1.0" encoding="iso-8859-1" ?>
<sroxml>
<versao>1.0</versao>
<qtd>1</qtd>
<TipoPesquisa>Lista de Objetos</TipoPesquisa>
<TipoResultado>Todos os eventos</TipoResultado>
<objeto>
<numero>SW740080584BR</numero>
<evento>
<tipo>BDE</tipo>
<status>01</status>
<data>13/05/2016</data>
<hora>18:23</hora>
<descricao>Objeto entregue ao destinatário</descricao>
<recebedor> </recebedor>
<documento> </documento>
<comentario> </comentario>
<local>CDD JUSTINOPOLIS</local>
<codigo>33900973</codigo>
<cidade>Ribeirao Das Neves</cidade>
<uf>MG</uf>
<sto>00046298</sto>
</evento>
<evento>
<tipo>OEC</tipo>
<status>01</status>
<data>13/05/2016</data>
<hora>10:16</hora>
<descricao>Objeto saiu para entrega ao destinatário</descricao>
<local>CDD JUSTINOPOLIS</local>
<codigo>33900973</codigo>
<cidade>Ribeirao Das Neves</cidade>
<uf>MG</uf>
<sto>00046298</sto>
</evento>
<evento>
<tipo>DO</tipo>
<status>01</status>
<data>13/05/2016</data>
<hora>05:52</hora>
<descricao>Objeto encaminhado</descricao>
<local>CTE BELO HORIZONTE</local>
<codigo>31276970</codigo>
<cidade>BELO HORIZONTE</cidade>
<uf>MG</uf>
<sto>00032594</sto>
<destino>
<local>CDD JUSTINOPOLIS</local>
<codigo>33900973</codigo>
<cidade>Ribeirao Das Neves</cidade>
<bairro>Sao Januario</bairro>
<uf>MG</uf>
</destino>
</evento>
<evento>
<tipo>DO</tipo>
<status>01</status>
<data>12/05/2016</data>
<hora>22:45</hora>
<descricao>Objeto encaminhado</descricao>
<local>CTE VILA MARIA</local>
<codigo>02170975</codigo>
<cidade>Sao Paulo</cidade>
<uf>SP</uf>
<sto>00025621</sto>
<destino>
<local>CTE BELO HORIZONTE</local>
<codigo>31276970</codigo>
<cidade>BELO HORIZONTE</cidade>
<bairro>Universitario</bairro>
<uf>MG</uf>
</destino>
</evento>
<evento>
<tipo>RO</tipo>
<status>01</status>
<data>12/05/2016</data>
<hora>17:20</hora>
<descricao>Objeto encaminhado</descricao>
<local>AC VILA RE</local>
<codigo>03658970</codigo>
<cidade>Sao Paulo</cidade>
<uf>SP</uf>
<sto>00024452</sto>
<destino>
<local>CTE VILA MARIA</local>
<codigo>02170975</codigo>
<cidade>Sao Paulo</cidade>
<bairro>Parque Novo Mundo</bairro>
<uf>SP</uf>
</destino>
</evento>
<evento>
<tipo>PO</tipo>
<status>01</status>
<data>12/05/2016</data>
<hora>16:59</hora>
<descricao>Objeto postado</descricao>
<local>AC VILA RE</local>
<codigo>03658970</codigo>
<cidade>Sao Paulo</cidade>
<uf>SP</uf>
<sto>00024452</sto>
</evento>
</objeto>
</sroxml>
<br>
Onde será a falha?
Grato - Fábio!