Recebendo um binário na resposta de uma requisição Rest
-
Boa tarde. Estou consumindo um webservice que retorna diretamente o binário de um arquivo PDF. Faço o consumo normalmente através da função rest - Consumir webservice, mas quando eu tento extrair o valor da chave "result" do retorno do webservice, o fluxo morre. O valor da chave result seria esse binário em questão. Eu estou tentando salvar ele em uma variável do tipo variante para poder trabalhar com ele a partir disso. A ideia seria permitir que o usuário fizesse download do arquivo. Alguém já fez algo parecido? Por que a regra trava na hora de extrair esse binário de dentro do Json? Tem algum cuidado específico que eu preciso ter na hora de trabalhar diretamente com esse tipo de dado?
-
@ruanrs Bom dia.
A função
REST - Consumir Webservices
não tem suporte para o tipo de retorno binário.Você pode está utilizando a função
Obter Conteúdo da URL ou Obter Conteúdo da URL Com POST
e com o retorno criar o arquivo PDF.Cordialmente
-
@janpier-dos-santos Bom dia Janiper! então, é que na verdade, o fluxo consegue passar dessa parte de fazer a requisição. Ele traz o retorno do webservice, e como é padrão do maker, dentro da chave "result" ele traz um arquivo PDF nesse formato binário. O problema é que eu não sei como trabalhar com o arquivo dessa maneira. Quando eu tento salvar esse pdf em uma variável do tipo variante o fluxo trava. Não é então possível trabalhar dessa maneira? A alternativa que você me indicou não funcionaria, já que esse arquivo não está disponível em uma página com acesso livre, ele só é retornado por um webservice, que espera parâmetros para buscar o arquivo certo.
-
@ruanrs Bom dia.
Você tentou a alternativa acima? Você pode fazer um POST passando seus parâmetros para a obtenção do arquivo, Depois basta utilizar as funções para manipulação e armazenamento do arquivo, como por exemplo
Adicionar a Arquivo
.Cordialmente.
-
@janpier-dos-santos Bom dia Janiper! Então, na documentação o webservice está explicitamente configurado como um GET, não sei se seria possível utilizar essa função já que ela manda como POST. Mas ainda sou novo nesse mundo de webservices, então não tenho certeza. Se você acha que é possível funcionar, eu não me importo de testar.