Pessoal,
Sei que foge um pouco do intuito do fórum, massss, estou com um problema na hora de navegar num XML que é retornado na minha action.
Minha Action:
public ActionForward execute(ActionMapping map,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) {
ActionForward forward = new ActionForward();
NaoIntegradoDAO clienteSQL = new NaoIntegradoDAO();
try {
String param = request.getParameter("controleFluxo");
if(param != null && param.equals("getClientes")) {
response.setContentType("text/xml");
response.setHeader("Content-Type", "application/xml");
response.getWriter().print(clienteSQL.getArquivosNaoIntegrados());
forward = null;
}else {
forward = map.findForward("sucesso");
}
}catch(IOException ioe) {
request.setAttribute("msgErro", ioe.getMessage());
forward = map.findForward("erro");
}catch(ErroException e) {
request.setAttribute("msgErro", e.getMessage());
forward = map.findForward("erro");
}
return forward;
}
JavaScript:
if(obj_XmlHttp) {
obj_XmlHttp.open( "POST", "/siri/ArqNaoIntegrados.do", true );
obj_XmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=iso-8859-1");
obj_XmlHttp.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");
obj_XmlHttp.setRequestHeader("Cache-Control", "post-check=0, pre-check=0");
obj_XmlHttp.setRequestHeader("Pragma", "no-cache");
obj_XmlHttp.onreadystatechange = function() {
var obj_selectCli;
try {
if(obj_XmlHttp.readyState == 1) {
obj_selectCli = "<select style='width: 250' id='listClientes'>" +
"<option id='cliente'>Aguarde..............</option>" +
"</select>";
document.getElementById("clientes").innerHTML = obj_selectCli;
}
if(obj_XmlHttp.readyState == 4) {
var dados = obj_XmlHttp.responseText;
alert(dados.substring(0, 2048));
if(obj_XmlHttp.status == 200) {
if(obj_XmlHttp.responseXML) {
obj_selectCli = "<select style='width: 250' id='listClientes'>" +
"<option id='cliente'>Processando XML...........</option>" +
"</select>";
document.getElementById("clientes").innerHTML = obj_selectCli;
listaClientes(obj_XmlHttp.responseXML);
}
}
}
}catch(e) {
alert("Erro ao processar a requisição ao servidor." + e.description);
}
}
var param = "controleFluxo=getClientes";
obj_XmlHttp.send(param);
}
Obs: Na variável dados acima, consigo visualizar o XML normalmente, só que, como o responseText é apenas um teste, o que me interessa é o responseXML!
Valeu