Ao tentar usar o WCMAPI em evento global beforedocumentviewer
recebo o erro WCMAPI is not defined
function beforeDocumentViewer(){
//Informações do documento
var doc = getValue("WKDocument");
//var versao= getValue("WKNumVersion");
log.info("INFODEV beforedocumentviewer "+ doc.documentId);
try {
var c1 = DatasetFactory.createConstraint( "idarquivo", doc.documentId, doc.documentId, ConstraintType.MUST);
var constraints = new Array(c1);
var ds = DatasetFactory.getDataset("ds_leitura_obrigatoria", null, constraints, null);
}catch (e) {
log.error("Erro ao tentar atualizar a leitura do documento : " + e.message);
}
log.info("INFODEV beforedocumentviewer "+ ds.length);
ds.values.forEach(function(item, index){
dados = '[{"name": "leitura","value": "true"}]';
WCMAPI.Create({
url : "/ecm/api/rest/ecm/cardView/editCard/"+this.documentid+"/"+this.version,
method : "POST",
contentType: "application/json",
dataType: "json",
data : dados,
success : function(data) {
log.info("*****sucesso*****");
},
error : function(data, errorThrown, status) {
log.info("*****erro***** " + status);
}
});
});
}
O WCMAPI é uma biblioteca para ser utilizada no Client Side em escopos do WCM, ela não é acessível via eventos de workflow / formulário, pois estes são executados no server side e em outra linguagem e não herdam nem importam estas libs do client. Para chamar as APIs do fluig em eventos eu aconselho a criação de serviços no fluig que consomem as APIs desejadas. Pode usar também uma requisição XMLHttpRequest.
— Francis 09 de Jan de 2020