Márcio Antônio Postado 3 Outubro Postado 3 Outubro Olá, de alguns dias pra cá, o meu serviço de consulta no banco do brasil, está travando toda noite, alguém está sabendo de alguma coisa? Estou fazendo o seguinte: // Consulta o boleto no WS logConsultaWSbancos.Log('Consulta WS Bancos ', 'No o while, iniciando AcbrBoleto...'); ACBrBoleto.ListadeBoletos.Clear; logConsultaWSbancos.Log('Consulta WS Bancos ', 'No o while, limpando o AcbrBoleto...'); Titulo := ACBrBoleto.CriarTituloNaLista; logConsultaWSbancos.Log('Consulta WS Bancos ', 'No o while, criando o Titulo...'); ACBrBoleto.Banco.TipoCobranca := cobBancoDoBrasilAPI; logConsultaWSbancos.Log('Consulta WS Bancos ', 'No o while, atribuído o tipo da API ao componente...'); AcbrBoleto.Cedente.Convenio := iqrConsBoletosEmAbertoCONVENIO.AsString; ACBrBoleto.Cedente.Nome := iqrConsBoletosEmAbertoNOMEEMPRESA.AsString; ACBrBoleto.Cedente.Agencia := iqrConsBoletosEmAbertoNUMEROAG.AsString; ACBrBoleto.Cedente.AgenciaDigito := iqrConsBoletosEmAbertoDIGITOAG.AsString; ACBrBoleto.Cedente.Conta := iqrConsBoletosEmAbertoNUMEROCC.AsString; ACBrBoleto.Cedente.ContaDigito := iqrConsBoletosEmAbertoDIGITOCC.AsString; Titulo.Carteira := iqrConsBoletosEmAbertoCARTEIRA.AsString; vNossoNumero := '000' + iqrConsBoletosEmAbertoCONVENIO.AsString + ZeroEsquerda(iqrConsBoletosEmAbertoNOSSONUMERO.AsString, 10); Titulo.NumeroDocumento := vNossoNumero; Titulo.NossoNumero := ZeroEsquerda(iqrConsBoletosEmAbertoNOSSONUMERO.AsString, 10); logConsultaWSbancos.Log('Consulta WS Bancos ', 'No o while, atribuído os dados do boleto ao componente...'); // Configura componente ACBrBoleto.Cedente.CedenteWS.ClientID := iqrConsBoletosEmAbertoCLIENTID.AsString; ACBrBoleto.Cedente.CedenteWS.ClientSecret := iqrConsBoletosEmAbertoCLIENTSECRET.AsString; ACBrBoleto.Cedente.CedenteWS.KeyUser := iqrConsBoletosEmAbertoKEYUSER.AsString; ACBrBoleto.Cedente.CedenteWS.Scope := iqrConsBoletosEmAbertoSCOPE.AsString; ACBrBoleto.Cedente.CedenteWS.IndicadorPix := True; logConsultaWSbancos.Log('Consulta WS Bancos ', 'No o while, atribuído os dados do cadastrais da conta ao componente...'); ACBrBoleto.Configuracoes.WebService.Ambiente := TpcnTipoAmbiente(dtmSysParams.GetParamAsInteger('BOLETOHIBRIDO_AMBIENTE')); // Tipo de ambiente (taProducao, taHomologacao) logConsultaWSbancos.Log('Consulta WS Bancos ', 'No o while, atribuído o tipo do ambiente ao componente...'); ACBrBoleto.Configuracoes.WebService.SSLHTTPLib := httpOpenSSL; ACBrBoleto.Configuracoes.WebService.SSLCryptLib := cryOpenSSL; ACBrBoleto.Configuracoes.WebService.SSLType := LT_TLSv1_2; ACBrBoleto.Configuracoes.WebService.TimeOut := 30000; ACBrBoleto.Configuracoes.WebService.UseCertificateHTTP := False; logConsultaWSbancos.Log('Consulta WS Bancos ', 'No o while, configurado os protocolos de segurança ao componente...'); ACBrBoleto.Configuracoes.WebService.Operacao := tpConsultaDetalhe; logConsultaWSbancos.Log('Consulta WS Bancos ', 'No o while, configurado o tipo de operação ao componente...'); try logConsultaWSbancos.Log('Consulta WS Bancos ', 'No o while, antes de enviar a requisição ao banco...'); vEnviar := ACBrBoleto.Enviar; logConsultaWSbancos.Log('Consulta WS Bancos ', 'No o while, ACBrBoleto.TotalListaRetornoWeb: '+IntToStr(ACBrBoleto.TotalListaRetornoWeb)); except On E: Exception do begin logConsultaWSbancos.Log('Erro na Consulta WS Bancos: ', E.Message); Exit; end; end; ele simplesmente trava no "vEnviar := ACBrBoleto.Enviar;", e não levanta nenhuma exceção nem nada... O que pode ser?
Márcio Antônio Postado 3 Outubro Autor Postado 3 Outubro Lembrei do log do componente, e verifiquei isso: 02/10/24 22:05:03:633 - Autenticando Token... 02/10/24 22:05:03:633 - Comando Enviar: TOAuth 02/10/24 22:05:03:633 - URL: [POST] https://oauth.bb.com.br/oauth/token?grant_type=client_credentials&scope=cobrancas.boletos-info cobrancas.boletos-requisicao 02/10/24 22:05:06:424 - Validade: 02/10/2024 22:15:06 02/10/24 22:05:06:425 - Comando Enviar: TBoletoW_BancoBrasil_API 02/10/24 22:05:06:425 - Comando Enviar: 02/10/24 22:05:06:425 - URL: [GET] https://api.bb.com.br/cobrancas/v2/boletos/00023232500000051214?gw-dev-app-key=f2316b9157cf0238cb9a09ebae96a559&numeroConvenio=2323250 ele travou ai, e ficou...
Moderadores Juliomar Marchetti Postado 3 Outubro Moderadores Postado 3 Outubro Tu faz a consulta de todos os boletos um a um, um atrás do outro? se sim coloque um sleep de 1 ou 5 segundos pra mandar acho que tu tá fazendo muitas requisições Juliomar Marchetti skype: juliomar telegram: juliomar e-mail: [email protected] http://www.juliomarmarchetti.com.br
Márcio Antônio Postado 3 Outubro Autor Postado 3 Outubro Sim, eu pego todos os boletos em aberto na base de dados... e consulto no BB a situação dele, se foi pago, cancelado... irei colocar um sleep, de 5 segundos e validar, qualquer coisa te aviso.
Márcio Antônio Postado 3 Outubro Autor Postado 3 Outubro O suporte do banco me respondeu o seguinte: Essa requisição das 22:05:03 não chegou no ambiente do BB, conforme log ... Orientamos verificar se houve algum erro de rede no ambiente interno e confirmar se realmente a requisição chegou a “sair” da rede interna. mesmo assim irei colocar o sleep e checar no servidor se teve algum problema nesse horário.
Márcio Antônio Postado 3 Outubro Autor Postado 3 Outubro A analista de rede do meu cliente, me informou que nesse horário, eles ficaram sem internet.... deve ter sido esse o problema, mas o timeout num deveria "derrubar" essa minha tentativa?
Moderadores Juliomar Marchetti Postado 3 Outubro Moderadores Postado 3 Outubro 5 minutos atrás, Márcio Antônio disse: A analista de rede do meu cliente, me informou que nesse horário, eles ficaram sem internet.... deve ter sido esse o problema, mas o timeout num deveria "derrubar" essa minha tentativa? não sei como é seu sistema interno mas até tratamento de exceções podem gerar problemas e deixar sua aplicação sem o devido retorno. application.onexception Juliomar Marchetti skype: juliomar telegram: juliomar e-mail: [email protected] http://www.juliomarmarchetti.com.br
Márcio Antônio Postado 3 Outubro Autor Postado 3 Outubro Irei colocar uma função para checar se a internet está ok, e checar se resolve o problema. 1
Recommended Posts
Crie uma conta ou entre para comentar
Você precisar ser um membro para fazer um comentário
Criar uma conta
Crie uma nova conta em nossa comunidade. É fácil!
Crie uma nova contaEntrar
Já tem uma conta? Faça o login.
Entrar Agora