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