Boa tarde, estou lendo um xml utilizando o método load() como abaixo: create x-document hXDOC. hXDOC:load("file",c-link, false). Quando ao ambiente não possui proxy, funciona. Quando possui, tem sido retornado o erro 9082, que diz em parte, "Type:NetAccessorException when loading a XML document". Alguma sabe como resolver? É possível informar um proxy para este comando?
bom dia @fnmattos , Já utilizei o comando e nunca tive este problema, mas achei no site da Progress esta informação, dizendo que é para incluir o NO-ERROR no final do comando. http://knowledgebase.progress.com/articles/Article/P63036 Abs.
Obrigado pela resposta Cleilton. Quando utilizo o 'no-errror' ele retorna apenas a primeira linha dessa forma: <?xml version="1.0" ?> Quando o ambiente não proxy, o retorno da primeira linha, além de todo conteúdo que não vem no caso descrito, é: <?xml version="1.0" encoding="UTF-8" ?>
Eu utilizo desta forma e nuca tive problema. def var Hdoc as handle. def var Hroot as handle. create x-document HDoc. Hdoc:load("LONGCHAR","c-file.xml",false). create x-noderef hroot. hDoc:get-document-element(hroot). procedure obtemnode. def input parameter vh as handle. def var hc as handle. def var loop as int. create x-noderef hc. do loop = 1 to vh:num-children: vh:get-child(hc,loop). run obtemnode (input hc:handle). case vh:name : when "Tipo" then do: create tt-dadosretorno. if hc:node-value <> "" then assign tt-dadosretorno.tipo = hc:node-value. end. when "valor" then do: if hc:node-value <> "" then assign tt-dadosretorno.valor = hc:node-value. end. when "Texto" then do: if hc:node-value <> "" then assign tt-dadosretorno.texto = hc:node-value. end. when "Msg" then do: if hc:node-value <> "" then assign tt-dadosretorno.msg = hc:node-value. end. end case. end. end.
Este erro pode ocorrer quando seu XML possui XSD Schemas ou Namespaces. Ao executar o LOAD() mesmo com a opção False para validação acontece a tentativa de acessar as URLs definidas no XML (mesmo que não vá usar para validar). No trecho que código abaixo vc pode ver como poderia estar em seu XML, é algo parecido com isso. Código: <?xml version="1.0" encoding="UTF-8" ?> <feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:gf="http://schemas.google.com/finance/2007" xmlns:gd="http://schemas.google.com/g/2005" > Verifique seu XML. Alguma URL deve conter uma string, porta ou similares que estão bloqueados no seu proxy. Veja quais são. Tente fazer o acesso via browser usando proxy e acesso sem proxy. Encontrando a URL peça pra seu admin. de rede colocá-la numa regra de exceção. Acho que é isso. Espero que ajude. Abs