Upload de arquivos no Fluig

Bom dia.

Estou realizando uma integração entre Protheus e Fluig na qual preciso enviar arquivos para o GED. A integração é realizada com sucesso, ou seja, envio os arquivos para uma pasta via Rest com ContentType igual multipart/form-data e recebo uma resposta positiva.

Desta forma eu acesso o fluig para consultar o arquivo e o mesmo se encontra na pasta que determinei, porém quando tento abrir o arquivo, o Ged indica que existe uma falha e não abre o mesmo. Estou usando um pdf para teste e se tento fazer a integração pelo Insominia com o mesmo arquivo, o mesmo é exibido normalmente, ou seja, somente enviando via Protheus ocorre esse problema. Abaixo segue um trecho do código onde não me retorna nenhum erro e além disso recebo do fluig a tag documentId indicando o Id gravado no Ged. Alguém tem alguma sugestão?

Obs.: Estou usando a classe FWoAuth1Fluig, porém ja tentei também com a FwRest e ocorre o mesmo problema.

//Endpoint para enviar o arquivo
cEndPointFile   := "/fluiddle/api/conn/documents/upload/"+StrTran(cFile," ","_")+"/"+cValToChar(::nDocumentIdDirUpd)+"/publish/1"

//Monta estrutra para envio no cBody
::oClientFluig:SetContentType("multipart/form-data; boundary="+cBoundary+"")
cBody := '--'+ cBoundary + CRLF
cBody += 'Content-Disposition: form-data; name="file"; filename="\temp\Teste.pdf"'
cBody += CRLF
cBody += 'Content-Type: application/pdf'
cBody += CRLF
cBody += 'Content-Disposition: form-data; name="json"'
cBody += CRLF
cBody += CRLF
cBody += CRLF
cBody += '--'+ cBoundary + "--"+CRLF

//Estancia a Classe Fluig e faz o envio 
cResult := ::oClientFluig:Post(::cUrlPortal+cEndPointFile,,cBody) 

//Converte retorno Json String pra Objeto
oJsonResult:FromJson(cResult)

//Arquivo enviado para a base do cliente
If oJsonResult["documentId"] > 0

   //Retorno do WS se ok
   aAdd(aDocumentIdFile,{  aListUploads[nX][1],;   
                          oJsonResult["documentId"],;                     
                         ""})

Else 

   //Retorno do WS se erro
   aAdd(aDocumentIdFile,{  aListUploads[nX][1],;   
                           0,;                     
                          "Não foi possível conectar ao GED para realizar o envio do arquivo "+cFile})

EndIf
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 TOTVS DevForum!

0 resposta

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