Prezado(a), Eu tentei fazer uma consulta de dataset que está retornando o erro java.lang.NullPointerException: null através de webservice de ConsultaSQL.
try{ var authService = getWebService(); var result = authService.RealizarConsultaSQL(server, codco ,codsi, filtro); / Roda o Ws / var xmlResultados = new XML(result); / Converte o retorno em XML /
log.info("--Debbug-- xmlResultados: " + xmlResultados);
/ Adiciona linhas com registros nas coluna/
dataset = DatasetBuilder.newDataset();
dataset.addColumn("col1"); dataset.addColumn("col2"); dataset.addColumn("col3"); dataset.addColumn("col4"); dataset.addColumn("col5");
for each(cc in xmlResultados.Resultado) { dataset.addRow(new Array( cc.NOME.toString(), cc.EMAIL.toString(), cc.CHAPA.toString(), cc.CODSECAO.toString(), cc.SITUACAO.toString()
)); } return dataset;
}catch (e) { if (e == null) e = "Erro desconhecido; verifique o log do RM"; var mensagemErro = "Erro na comunicacao com o RM: " + e; log.error(mensagemErro); dataset = DatasetBuilder.newDataset() dataset.addColumn("erro"); dataset.addRow(new Array(mensagemErro)); return dataset / Retorno matriz com erros /; }
function getWebService(){ //Conexão de dataset para busca de usuários para softwares var DB_USUARIO; var DB_SENHA;
//Carrega senhas var constraintsSenha = new Array(); var dataset = DatasetFactory.getDataset("dadosAcessos", null, constraintsSenha, null);
for(var i = 0; i < dataset.rowsCount; i++) { if ((dataset.getValue(i, "sistema") == "RM-Producao") && (dataset.getValue(i, "local") == "UNIPAM")){ DB_USUARIO = (dataset.getValue(i, "user")); DB_SENHA = (dataset.getValue(i, "psw")); } }
//Serviços instanciados var Nome_Servico = "consultaSql_rm"; var Caminho_Servico = "com.totvs.WsConsultaSQL";
var dataServerService = ServiceManager.getServiceInstance(Nome_Servico); if(dataServerService == null){ log.error("--Debbug-- Servico nao encontrado: " + Nome_Servico); }
var serviceLocator = dataServerService.instantiate(Caminho_Servico); if(serviceLocator == null){ log.error("--Debbug-- Instancia do servico nao encontrada: " + Nome_Servico + " - " + Caminho_Servico); }
var service = serviceLocator.getRMIwsConsultaSQL(); if(service == null){ log.error("--Debbug-- Instancia do dataserver do invalida: " + Nome_Servico + " - " + Caminho_Servico); }
var serviceHelper = dataServerService.getBean(); if(serviceHelper == null){ log.error("--Debbug-- Instancia do service helper invalida: " + Nome_Servico + " - " + Caminho_Servico); }
var authService = serviceHelper.getBasicAuthenticatedClient(service, "com.totvs.lwsConsultaSQL", DB_USUARIO, DB_SENHA); if(authService == null){ log.error("--Debbug-- Instancia do auth service invalida: " + Nome_Servico + " - " + Caminho_Servico); }
return authService; }
Preciso de orientação técnica sobre o que fazer para que as funções de WsConsultaSQL carregue os dados conforme problema proposto.
Obrigado.
Confira no log a linha que gerou o nullpointer e faça sua análise a partir desse ponto.
— Rafael Vanat 06 de Dec de 2017