createSimpleDocument salva documento porem arquivo sobre corrompido

Consegui carregar o documento usando o método readAsBinaryString, e usando a função btoa do Javascript, com isso, consegui que o documento via web service de Portal público salvar o documento no Fluig, segue o código final do Javascript.


const input = $('#arquivoNota');
const file = input[0].files[0];
var fileSize = file.size; // => Value in bytes
var fileName = file.name; // Nome do Arquivo

var reader  = new FileReader();
reader.readAsBinaryString(file);
reader.onload = function() {
   var dataUrl = btoa(reader.result);
   console.log('Carregando XML do Documento');
   var xml_doc = null;
   $.ajax({
      url : '/agendamento_carga/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_doc.find("documentDescription").text( $('#chaveNota').val() );
   xml_doc.find("Attachments item:eq(0) attach").text( false );
   xml_doc.find("Attachments item:eq(0) fileName").text( $('#chaveNota').val() + '.pdf' );
   xml_doc.find("Attachments item:eq(0) principal").text( true );
   xml_doc.find("Attachments item:eq(0) fileSize").text( fileSize );
   xml_doc.find("Attachments item:eq(0) filecontent").text( dataUrl );
   // 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);
      },
      error : function(request, status, error) {
         console.log("Request: " + request);
          console.log("Status: " + status);
          console.log("Erro: " + error);
      }
   });
};