Ir para conteúdo
  • Cadastre-se

dev botao

Farmácia Popular novo DNS do webservice


  • Este tópico foi criado há 2168 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

olá bom dia, estou implementando os novos web service do farmacia popular, e as vezes funciona normalmente as vezes ele retorna o seguinte erro:

Citar

 

O documento XML deve ter um elemento de nível superior

Line: 0

 

Alguem sabe me dizer  que pode estar causando este problema e como solucionar, se for um problema no consumo do web service,

 

esta é uma das funções que estou utilizando na comunicação:

Citar

 

procedure THFarmaciaPopular.executarEstorno;
var
  respEstorno : ConfirmacaoEstornoDTO;
begin
  try
    CoInitialize(nil);    
    
    // instancio o objeto de consulta
    WSFPopular            := GetServicoSolicitacaoWS(false,Addr);
    
    // consulto o web service

   // geralmente o erro acontece aqui
    respEstorno   := WSFPopular.executarEstorno(reqEstorno,usuDTO);
    
    // converto o objeto para o programa
    respObject            := TObject( respEstorno);
  Except
    on e : Exception do
      erro := e.Message;
  end;
end;

 

 

 

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Fiz um checkbox no programa para, se marcado, o sistema funcionar no DNS novo. Desmarcado funciona no DNS atual. Está dando erro de timeout. "O certificado não deve estar no estado correto". Ao desmarcar a opção e voltar para o DNS atual funciona na hora. Espero que prorroguem porque estabilizar está difícil.

Link para o comentário
Compartilhar em outros sites

Resposta farmácia popular sobre timeout

 

PREZADO (A),

 

INFORMAMOS QUE ESTÁ SENDO VERIFICADO PARA REESTABELECER A NORMALIDADE.

 

AGRADECEMOS O CONTATO E ESTAMOS A DISPOSIÇÃO PARA OUTROS ESCLARECIMENTOS.

 

ATT.

EQUIPE TÉCNICA DO PROGRAMA FARMÁCIA POPULAR/DAF/SCTIE

logo_fp2

Esplanada dos Ministérios. Bloco G, Ed. Sede, 1º Andar

EP: 70.058-900 - Brasília – DF

www.saude.gov.br/aquitemfarmaciapopular

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Em 27/11/2018 at 11:38, magnosystem disse:

Fiz um checkbox no programa para, se marcado, o sistema funcionar no DNS novo. Desmarcado funciona no DNS atual. Está dando erro de timeout. "O certificado não deve estar no estado correto". Ao desmarcar a opção e voltar para o DNS atual funciona na hora. Espero que prorroguem porque estabilizar está difícil.

Você conseguiu trabalhar com o mesmo código DNA nos dois DNS?

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Na realidade o GBAS antigo está na pasta do meu aplicativo, já o gbas novo eu criei uma pasta chamada GBAS20 que fica na pasta do meu aplicativo e dentro coloquei o gbas novo e seus arquivos dependentes. Portanto, quando o usuário marca a opção para trabalhar com o antigo DNS  eu direciono pro GBAS da pasta do meu aplicativo que é o antigo. Quando o usuário marca para trabalhar no NOVO DNS eu direciono pro GBAS da pasta GBAS20 que é o novo GBAS.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

1 hora atrás, magnosystem disse:

Na realidade o GBAS antigo está na pasta do meu aplicativo, já o gbas novo eu criei uma pasta chamada GBAS20 que fica na pasta do meu aplicativo e dentro coloquei o gbas novo e seus arquivos dependentes. Portanto, quando o usuário marca a opção para trabalhar com o antigo DNS  eu direciono pro GBAS da pasta do meu aplicativo que é o antigo. Quando o usuário marca para trabalhar no NOVO DNS eu direciono pro GBAS da pasta GBAS20 que é o novo GBAS.

 

Fiz como falou, mesmo assim, a versão antiga, só retorna "51S - Solicitação não autorizada. DNA da transação gerado pelo GBAS é inválido."

 

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

DNA da transação inválido tem outro macete que usei no programa já há algum tempo. Tenho um "quadradinho" chamado ENVIAR DATA E HORA DA PRESCRIÇÃO PARA COMPATIBILIDADE COM O DATASUS.

Se o usuário marcar envia a prescrição com Date + Time, caso contrário envia só Date.

Portanto os usuários estão trabalhando com dois quadradinhos: o que ativa ou desativa o DNS NOVO e este citado acima.

Link para o comentário
Compartilhar em outros sites

1 minuto atrás, Sommus disse:

Qual dos métodos? Tentei tanto o de geração do DNA quanto o de envio.

O de envio, faz um loop de 5 tentativas com pausa de 1 ou 2 segundos

2 minutos atrás, magnosystem disse:

DNA da transação inválido tem outro macete que usei no programa já há algum tempo. Tenho um "quadradinho" chamado ENVIAR DATA E HORA DA PRESCRIÇÃO PARA COMPATIBILIDADE COM O DATASUS.

Se o usuário marcar envia a prescrição com Date + Time, caso contrário envia só Date.

Portanto os usuários estão trabalhando com dois quadradinhos: o que ativa ou desativa o DNS NOVO e este citado acima.

realmente existe esta diferença entre os webservices antigos e novo

Link para o comentário
Compartilhar em outros sites

  • Administradores

Obrigado por reportar.

Fechando. Para novas dúvidas, criar um novo tópico.

  • Curtir 1
Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 2168 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...
The popup will be closed in 10 segundos...