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

:warning: Atenção: Esta publicação foi transferida automaticamente do fórum antigo, mas os anexos não foram incluídos.

1 curtida

Boa tarde, estou fazendo um integração com fluig, enviando arquivos e depois tenho que baixar/abrir este arquivo Para enviar, usei uma logica parecida com a sua e esta funcionando, porem estou com dificuldades de acessar/baixar este arquivo via advpl, você teve sucesso? Pode passar como fez?

Bom dia, estou com o mesmo problema que o seu, envio o arquivo, ele retorna ok, porem com o tamanho 0,e não é possível abrir o arquivo
Você chegou a uma solução?