Versão atual:

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

Versão (1):

Ver a versão formatada

Upload de arquivos no Fluig

Comentário

new question