createSimpleDocument salva documento porem arquivo sobre corrompido

Tenho um Portal Publico, que salva um PDF (Web Service) via Upload no Fluig.

Eu salvo o PDF na base64 enviando pelo Attachments, ele informa que salvou, o documento está lá na pasta, porém quando clico para Visualizar ou fazer o Download, ele informa que o Arquivo está corrompido.

Javascript

const input = $('#arquivo');
        const file = input[0].files[0];
        console.log(file);
        var fileSize = file.size;
        var fileName = file.name;
        console.log('Nome Arquivo: ' + fileName + ' | Tamanho Arquivo: ' + fileSize);
        var reader  = new FileReader();
        reader.onload = function() {
            var dataUrl = reader.result;

            // Enviando informaçoes
            console.log('Carregando XML do Documento');
            var xml_doc = null;
            $.ajax({
               url : '/teste/resources/js/xmls/ECMDocumentService_createSimpleDocument.xml',
               async : false,
               type : "GET",
               datatype : "xml",
               success : function(xml) {
                   xml_doc = $(xml)
               }
            });
            console.log('Montando Dados dos Documentos');
            xml_chave.find("documentDescription").text( $('#nome').val() + '.pdf' );
            xml_doc.find("Attachments item:eq(0) attach").text( false );
            xml_doc.find("Attachments item:eq(0) fileName").text( $('#nome').val() + '.pdf' );
            xml_doc.find("Attachments item:eq(0) principal").text( true );
            xml_doc.find("Attachments item:eq(0) filecontent").text( dataUrl );

            console.log("Dados do XML Documento");
            console.log(xml_doc[0]);
            // Iniciando chamada do WebService
            WCMAPI.Create({
                url : "/webdesk/ECMDocumentService?wsdl",
                contentType : "text/xml",
                dataType : "xml",
                data : xml_doc[0],
                success : function(data) {
                    console.log("Documento Anexado com Sucesso!");
                    console.log(data);
                    console.log('Empresa: ' + $(data).find("result item item:eq(0)").text());
                    console.log('Descriçao: ' + $(data).find("result item item:eq(1)").text());
                    console.log('Documento Id: ' + $(data).find("result item item:eq(2)").text());
                    console.log('Versao: ' + $(data).find("result item item:eq(3)").text());
                    console.log('Mensagem: ' + $(data).find("result item item:eq(4)").text());
                },
                error : function(request, status, error) {
                    console.log("Request");
                    console.log(request);
                    console.log("Status");
                    console.log(status);
                    console.log("Erro");
                    console.log(error);
                }
             });
        };

XML

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://ws.dm.ecm.technology.totvs.com/">
   <soapenv:Header/>
   <soapenv:Body>
      <ws:createSimpleDocument>
         <username>USUARIO</username>
         <password>SENHA</password>
         <companyId></companyId>
         <parentDocumentId>NUMERO_PASTA</parentDocumentId>
         <publisherId>USUARIO</publisherId>
         <documentDescription>Documento publicado via webservice</documentDescription>
         <Attachments>       
            <item>
                <attach></attach>
                <fileName></fileName>
                <principal></principal>    
                <fileSelected/>
                <filecontent></filecontent>
            </item>
         </Attachments>
      </ws:createSimpleDocument>
   </soapenv:Body>
</soapenv:Envelope>

Estou enviando o arquivo em base64 pelo FileContent, quando coloco um IFrame ele exibe o PDF normalmente, mas quando envia para o GED do Fluig, chega corrompido. Se alguém souber como me ajudar a resolver esse problema, agradeço.

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 portal publico webservice createsimpledocument ecmdocumentservice ou faça a sua própria pergunta.