Envio de documento via webservice

Olá, boa dia. Estou tentando enviar um documento via webservice, por um dataset (código 1). Tenho uma widget que fiz e funciona em uma página pública. Nesta página seleciono o documento (código 2) e depois envio para o servidor via dataset. O processo é iniciado, com o documento anexo, mas quando vou abrir o documento está vazio e corrompido. Alguém sabe dizer o que está acontecendo, o quu falta para poder enviar o documento?

Código 1

    var processAttachmentDto =  serviceManager.instantiate("com.totvs.ProcessAttachmentDto")
        log.info("processAttachmentDto init ...");
        processAttachmentDto.setDocumentId(0);
        processAttachmentDto.setVersion(1000);
        processAttachmentDto.setOriginalMovementSequence(1);
        processAttachmentDto.setColleagueId(usuarioId); 
        processAttachmentDto.setCompanyId(empresa); 
        processAttachmentDto.setDescription(descricaoDocumento);
        log.info("processAttachmentDto setDescription ..."+descricaoDocumento);
        processAttachmentDto.setFileName(nomeDocumento);
        log.info("processAttachmentDto setFileName ..."+nomeDocumento);
        processAttachmentDto.setDeleted(false); 
        processAttachmentDto.setPermission("1");
        processAttachmentDto.setNewAttach(true);
        log.info("processAttachmentDto ok ...");

        var attachment =  serviceManager.instantiate("com.totvs.Attachment");
        log.info("attachment init ...");
        attachment.setAttach(true); //Informar true para criar anexos no processo.
        log.info("attachment setAttach ...");
        attachment.setFileName(nomeDocumento); //Nome do arquivo do anexo
        log.info("attachment setFileName ..."+nomeDocumento);
        attachment.setPrincipal(false); //Anexo principal?
        log.info("attachment setPrincipal ...");

        //var byteArray= new java.lang.Byte(bytesDocumento+"");

      //  var byteArray=[bytesDocumento];

        var bytes = []; // char codes
        log.info("attachment bytesDocumento length..."+bytesDocumento.length);
        for (var i = 0; i < bytesDocumento.length; ++i) {

              log.info("attachment bytesDocumento pos..."+i);
          var code = bytesDocumento.charCodeAt(i);

          bytes = bytes.concat([code]);


        }

        log.info("attachment bytesDocumento ..."+bytes);


        attachment.setFilecontent(bytes); //Informar os bytes do anexo

        log.info("attachment ok ...");

        processAttachmentDto.getAttachments().add(attachment);



        var ProcessAttachmentDtoArray =  serviceManager.instantiate("com.totvs.ProcessAttachmentDtoArray")
        ProcessAttachmentDtoArray.getItem().add(processAttachmentDto);

    service.startProcess(usuarioIntegrador, 
                senhaIntegrador,
                empresa,
                processo,
                atividade, 
                userStringArray,
                "Comentário: Iniciando automaticamente", 
                usuarioId+"", 
                true,
                ProcessAttachmentDtoArray, 
                stringArrayArray,
                ProcessTaskAppointmentDtoArray,
                false);

Código 2

    <input 
                            id="arquivo" 
                            type="file" 
                            name="arquivo" 
                            data-url="/ecm/upload"
                            class="btn btn-primary btn-sm btn-block"
                            title="Buscar Arquivo(s)"
                            multiple/>
compartilhar
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do fluig Forum!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags widget documentos webservice ou faça a sua própria pergunta.