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