Boa tarde pessoal!
Preciso de ajuda para entender um problema que estou passando.
Estou desenvolvendo uma integração utilizando REST através de um Dataset no Fluig, mas estou recebendo o erro abaixo:
JavaException: javax.ejb.EJBException: java.lang.ClassCastException: class java.util.ArrayList cannot be cast to class java.util.Map (java.util.ArrayList and java.util.Map are in module java.base of loader ‘bootstrap’
Creio que o problema esteja com o parâmetro PARAMS, pois preciso passar uma lista , mas não estou sabendo resolver isso. Tenho um outro endpoint do tipo POST onde passo um objeto e funciona, o problema está em passar uma lista.
Segue o código que estou utilizando:
function createDataset(fields, constraints, sortFields) {
var dataset = DatasetBuilder.newDataset();
dataset.addColumn("status");
dataset.addColumn("detalhe");
dataset.addColumn("resultado");
try {
var cardData = new Array();
var obj = [
{
"idItem": 33,
"autorizado": true,
"valorAutorizado": 2000
}
];
cardData.push(obj);
var companyId = ""+ getValue("WKCompany");
var serviceCode = 'Integracao';
var endpoint = "/autorizacao/";
var data = {
companyId: companyId,
serviceCode: serviceCode,
endpoint: endpoint,
method: 'POST',
timeoutService: '100',
params: cardData,
headers: {
'SecurityToken': 'Q8GgZJIqPlC29oZ5YC4VNc91w1RCrG8o8sbAKrMzo5pCk4/Jk08kE0W5iUgOxINW6kbKU4wFzqe6fAUUEe1QD/eNfRzM/jwbBFKDuTArAjQBKNB0OHTsETYtovWSNClhMILA/g2Ehoi6S4e1g2nkeQ==',
'Content-Type': 'application/json',
}
}
var clientService = fluigAPI.getAuthorizeClientService();
var service = clientService.invoke(JSON.stringify(data));
var httpStatus = String(service.getHttpStatusResult());
if (service.getResult() == null || service.getResult().isEmpty()) {
log.info("Autorizar Planejamento: O retorno está vazio.");
//throw new Exception("Autorizar: O retorno está vazio.");
dataset.addRow(
new Array("", "Autorizar", "O retorno está vazio.")
);
} else {
//var result = JSON.parse(service.getResult());
if (httpStatus == "200") {
log.info("Autorizar: " + httpStatus + " - Planejamento Autorizado.");
dataset.addRow(
new Array(httpStatus, "Sucesso", "Autorizado")
);
} else {
dataset.addRow(
new Array(httpStatus, "Erro", service.getResult())
);
}
}
} catch(e) {
log.info("3) Exceção: Autorizar: " + e);
throw new Exception(e);
}
return dataset;
}