Anexar documento no WS simpleStartProcess

Eu estou usando o WS simpleStartProcess do ECMWorkflowEngineService, nele é possível iniciar um solicitação com um anexo. Atualmente está anexando um arquivo que está em um determinado diretório, porém quando vou ver a solicitação e baixo o anexo, ele está vazio. Como faço para eu conseguir baixar anexar o documento e fazer ele ir com o seu conteúdo.

Obs: O ducmento que estou anexando é um DOCX.

Segue abaixo o código utilizado por mim:


var workflowEngineServiceProvider = ServiceManager.getServiceInstance("ECMWorkflowEngineService");
            // Instancia o serviço
            var svcBean = workflowEngineServiceProvider.getBean();
            var workflowEngineServiceLocator = svcBean.instantiate("ECMWorkflowEngineService.ECMWorkflowEngineServiceService");
            var workflowEngineService = workflowEngineServiceLocator.getWorkflowEngineServicePort();
            // Cria o ObjectFactory
            var objectFactory = workflowEngineServiceProvider.instantiate("ECMWorkflowEngineService.ObjectFactory");

            //-- Anexos

            //Recupera os anexos
            var anexos = dataset.getValue(i, "anexos")
            anexos = anexos.split("//")
            var attArrArr = objectFactory.createProcessAttachmentDtoArray()

            for(var j=0; j<anexos.length; j++){
                var attArr = objectFactory.createProcessAttachmentDto()
                var att = objectFactory.createAttachment()

                console.log("--------- Anexo "+anexos[j])

                att.setFileName(anexos[j])
                att.setFullPatch("D:\Fluig-DEV\appserver\Anexos/"+anexos[j])
                att.setPathName("D:\Fluig-DEV\appserver\Anexos/"+anexos[j])
                //att.setFilecontent(java.util.Base64.getDecoder().decode(new java.lang.String(anexoB64).getBytes("UTF-8")));

                attArr.setDescription(anexos[j])
                attArr.setNewAttach(true)
                attArr.getAttachments().add(att)
                console.log(attArr.getAttachments())


                attArrArr.getItem().add(attArr)
            }

workflowEngineService.simpleStartProcess(userName, pwd, 1, idProcess, msg, attArrArr, sArrArr);

Olá Matheus,

nesse caso você teria que passar o conteúdo do arquivo como um byteArray. Por exemplo, no código abaixo eu leio o conteúdo de um docx localizado no disco e envio o byteArray dele no fileContent do anexo:


var attArrArr = objectFactory.createProcessAttachmentDtoArray();
var attArr = objectFactory.createProcessAttachmentDto();
var att = objectFactory.createAttachment();

var filePath = '/home/usuario/arquivo.docx';
var byteArray = java.nio.file.Files.readAllBytes(java.nio.file.Paths.get(filePath));

att.setFileName('arquivo.docx');
att.setFilecontent(byteArray);

attArr.setDescription('arquivo.docx');
attArr.setNewAttach(true);
attArr.getAttachments().add(att);

attArrArr.getItem().add(attArr);

Muito obrigado, deu certo aqui!

Prezados, boa tarde, tem como me ajudar com algum exemplo de como implementar esse código, fazendo o upload do arquivo em um layout, utilizando o WS simpleStartProcess, serei muito grato! Obrigado.