Criei um Portal Público onde a pessoa que acessa ele preenche um formulário e inicia um processo.
Porém, ao iniciar o processo, está dando um erro no StartProcess, informando: Usuário "admin" que é o requisitante não foi encontrado, já tentei mudar o userId para outras matriculas válidas do Fluig, mas todas retornam esse mesmo erro.
Outra coisa que identifiquei é que se faço tudo isso logado, não da erro nenhum, e o processo é iniciado corretamente.
Gostaria de uma ajuda para saber como iniciar esse processo sem estar logado. Preciso configurar alguma coisa a mais?
Segue o código que inicia o processo.
var xml_processo = null;
var turno = null;
$.ajax({
url : '/montagem_agendamento/resources/js/xmls/ECMWFEngineService_startProcess.xml',
async : false,
type : "get",
datatype : "xml",
success : function(xml) {
xml_processo = $(xml);
}
});
if(document.getElementById("turnomanha_" + this.instanceId).checked) {
turno = "MANHA";
}
else if(document.getElementById("turnotarde_" + this.instanceId).checked) {
turno = "TARDE";
}
else {
console.log("Erro, nenhum Turno foi selecionado!");
}
// Alterar os valores recuperados na variavel xml_processo
xml_processo.find("companyId").text(WCMAPI.tenantCode);
xml_processo.find("comments").text('Processo iniciado via WIDGET pelo Portal Agendamento de Montagem de Moveis!');
xml_processo.find("choosedState").text("6");
xml_processo.find("colleagueIds").text("alessandro.ti");
xml_processo.find("userId").text("admin");
xml_processo.find("completeTask").text(true);
xml_processo.find("managerMode").text(false);
// Preenchendo valores dos campos do formulario Montagem de Moveis
xml_processo.find("[name='cpfCliente']").text($("#cpf_" + this.instanceId).val());
xml_processo.find("[name='idPedido']").text($("#pedido_" + this.instanceId).val());
xml_processo.find("[name='nomeContato']").text($("#nomecliente_" + this.instanceId).val());
xml_processo.find("[name='telefoneContato']").text($("#telefonecliente_" + this.instanceId).val());
xml_processo.find("[name='celularContato']").text($("#celularcliente_" + this.instanceId).val());
xml_processo.find("[name='emailPesqOpiniao']").text($("#emailPesqOpiniao_" + this.instanceId).val());
xml_processo.find("[name='lojaCompra']").text($("#lojaCompra_" + this.instanceId).val());
xml_processo.find("[name='lojaNome']").text($("#lojaNome_" + this.instanceId).val());
xml_processo.find("[name='enderecoEntrega']").text($("#enderecocliente_" + this.instanceId).val());
xml_processo.find("[name='numeroEntrega']").text($("#numerocliente_" + this.instanceId).val());
xml_processo.find("[name='complementoEntrega']").text($("#complementocliente_" + this.instanceId).val());
xml_processo.find("[name='bairroEntrega']").text($("#bairrocliente_" + this.instanceId).val());
xml_processo.find("[name='cepEntrega']").text($("#cepcliente_" + this.instanceId).val());
xml_processo.find("[name='cidadeEntrega']").text($("#cidadecliente_" + this.instanceId).val());
xml_processo.find("[name='observacaoEntrega']").text($("#observacaoentrega_" + this.instanceId).val());
xml_processo.find("[name='statusProcesso']").text("");
xml_processo.find("[name='montadoraResponsavel']").text($("#montadoraresponsavel_" + this.instanceId).val());
xml_processo.find("[name='identificadorMontagem']").text($("#identificadormontagem_" + this.instanceId).val());
xml_processo.find("[name='dataAgendamento']").text($("#calendarioagendamento_" + this.instanceId).val());
xml_processo.find("[name='turnoAgendamento']").text(turno);
xml_processo.find("[name='obsAgendamento']").text($("#obsagendamento_" + this.instanceId).val());
var cardData = $("cardData", xml_processo);
console.log("Tamanho: " + $("#tb_itens_" + this.instanceId).find("tbody tr").length);
for(var p = 0; p < $("#tb_itens_" + this.instanceId).find("tbody tr").length; p++) {
var index = p + 1;
console.log("Index: " + index);
this.addItemXML(cardData, 'idItem___' + index, $("#tb_itens_" + this.instanceId).find("tbody tr:eq(" + p + ") td:eq(0)").text());
this.addItemXML(cardData, 'descricaoItem___' + index, $("#tb_itens_" + this.instanceId).find("tbody tr:eq(" + p + ") td:eq(1)").text());
this.addItemXML(cardData, 'qtdeItem___' + index, $("#tb_itens_" + this.instanceId).find("tbody tr:eq(" + p + ") td:eq(2)").text());
this.addItemXML(cardData, 'valorItem___' + index, $("#tb_itens_" + this.instanceId).find("tbody tr:eq(" + p + ") td:eq(3)").text());
this.addItemXML(cardData, 'valorTotal___' + index, $("#tb_itens_" + this.instanceId).find("tbody tr:eq(" + p + ") td:eq(4)").text());
}
console.log(xml_processo[0]);
// Usar o metodo WCMAPI.Create para chamar o webservice e Iniciar o Processo de Montagem de Moveis
WCMAPI.Create({
url : "/webdesk/ECMWorkflowEngineService?wsdl",
contentType : "text/xml",
dataType : "xml",
data : xml_processo[0],
success : function(data) {
console.log(data)
var processoCriado = $(data).find("iProcess").text();
console.log('Teste retorno');
console.log(processoCriado);
FLUIGC.toast({
title: 'Aviso',
message: 'Processo ' + processoCriado + ' criado com sucesso',
type: 'success'
});
}
});
Alessandro, pode ser que seja o "WCMAPI.tenantCode", como você não está logado ele não tem uma empresa para buscar o usuário. Tente fazer o teste informando o código da empresa do usuário "admin" no lugar do "WCMAPI.tenantCode"
— Diogo Boegershausen 21 de Aug de 2019Diogo, era isso mesmo. Muito obrigado pela ajuda.
— Alessandro Feitosa 21 de Aug de 2019