Estou consumindo a api rest usando o cadastro de serviços do Fluig e estou notando um comportamento estranho.
Ao executar o dataset o mesmo retorna um número repetido desconhecido que nem existe na listagem JSON. Porém quando faço a iteração no log.info esse comportamento não ocorre somente quando usado Dataset.addRow , segue em anexo o print da duplicidade do número inexistente e o print do log como ele não retorna dessa forma.
function createDataset(fields, constraints, sortFields) {
var dataset = DatasetBuilder.newDataset();
var i;
try {
var clientService = fluigAPI.getAuthorizeClientService();
var data = {
companyId: getValue("WKCompany") + '',
serviceCode: 'SASPessoaFisica',
endpoint: '/cliente/consultarpessoafisica?Situacao=1',
method: 'get'
}
var vo = clientService.invoke(JSON.stringify(data));
//log.info("vo PESSOA FISICA >>> " + vo);
var vetorCGCCPF = [];
if (vo.getResult() == null || vo.getResult().isEmpty()) {
throw new Exception("Retorno está vazio");
} else {
//log.info("PESSOA FISICA >> getResult() " + vo.getResult());
dataset.addColumn("CONTADOR");
dataset.addColumn("CGCCPF");
var json = JSON.parse(vo.getResult());
//log.info("PESSOA FISICA variavel json " + json);
//log.info(">>>>>> y " + JSON.stringify(json));
//log.info("TAMANHO DO JSON >> "+json.length);
for (i = 0; i < json.length; i++) {
if (json[i] != null) {
dataset.addRow([json[i].CgcCpf]);
}
else {
dataset.addColumn("MESSAGE_ERROR");
dataset.addRow(new Array(-1, "-", "-", "-", "VAZIO"));
}
}
}
} catch (err) {
// throw new Exception(err);
//log.info("ERROR >>" + err);
}
return dataset;
}
Tente utilizar um log.dir(json) para ver se realmente não aparecem esses valores no log do retorno do REST, ou se ele não tem autenticação chamar ele direto no browser pra verificar o retorno
— Diogo Boegershausen 12 de Sep de 2018