Versão atual:

Erro ao tentar ler XML em um mecanismo de atribuição

Prezados, bom dia.

Estou tentando ler o retorno de um webservice (soap) e estou me deparando com o seguinte problema:

o retorno do WS é:

var envelope = '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> ' +
'<soapenv:Body> ' +
    '<aprovadores xmlns="br.com.mostaert"> ' +
        '<aprovador> ' +
                '<p_sig_proximo_usuario>OTTO.MOSTAERT</p_sig_proximo_usuario> ' +
                '<p_ind_existe_prox_nivel>S</p_ind_existe_prox_nivel> ' +
            '</aprovador> ' +
        '</aprovadores> ' +
    '</soapenv:Body> ' +
'</soapenv:Envelope> ';

ai utilizo a seguinte rotina pra ler o resultado:


        var xml = new XML(envelope); 
        log.info("XML: " + xml.toString());
        log.info("aprovadores: \n" + xml.aprovador.toString());
        for (var index in xml.aprovador) {
            var element = xml.aprovador[index];
            log.info("p_sig_proximo_usuario: " + element.p_sig_proximo_usuario.toString());
            log.info("p_ind_existe_prox_nivel: " + element.p_ind_existe_prox_nivel.toString());        
        }
        return "";

no log não é printado os valores, mas, se eu alterar o valor do envelope e colocar:


        var envelope = 
            '<aprovadores xmlns="br.com.mostaert"> ' +
                '<aprovador> ' +
                        '<p_sig_proximo_usuario>OTTO.MOSTAERT</p_sig_proximo_usuario> ' +
                        '<p_ind_existe_prox_nivel>S</p_ind_existe_prox_nivel> ' +
                    '</aprovador> ' +
                '</aprovadores> ';

ai sim eu consigo testar a rotina, mas, o que eu preciso fazer pra conseguir ler corretamente o primeiro envelope?

Peguei de exemplo em: http://tdn.totvs.com/pages/releaseview.action?pageId=73082260

Versões (3):

Ver a versão formatada

Erro ao tentar ler XML em um mecanismo de atribuição

Comentário

new question