Como solucionar: Erro de comunicação via soap, Could not resolve host: nfe.sefaz.go.gov.br [https://nfe.sefaz.go.gov.br/nfe/services/NFeAutorizacao4]

47 views
Skip to first unread message

Pedro Sousa

unread,
Aug 7, 2026, 12:51:06 PM (9 days ago) Aug 7
to NFePHP
Erro de comunicação via soap, Could not resolve host: nfe.sefaz.go.gov.br [https://nfe.sefaz.go.gov.br/nfe/services/NFeAutorizacao4]

Esse erro está em Goiás e com bastante frequência

Alguém saber me informar uma maneira de ocultar essa mensagem para o usuário?
Interceptar a resposta e assim enviamos um aviso para o usuário sobre o que está acontecendo
- sempre que acontece isso as mensagens nunca param de chegar porque o usuário tem memoria curta
- ele vê isso sempre que a SEFAZ está com instabilidade mas não pensa que pode ser um erro da sefaz e começa a enviar mensagem

Se houver uma meneira de obter o erro assim fica mais fácil o controle.

Obrigado!

Valdir Silva

unread,
Aug 7, 2026, 9:34:51 PM (8 days ago) Aug 7
to nfe...@googlegroups.com
boa noite
muda a conexão
se estiver síncrona muda para assíncrona ou vice-versa.
ok


--
--
Você recebeu esta mensagem porque está inscrito no Grupo "NFePHP".
Para Postar: nfe...@googlegroups.com
Para Sair do Grupo: nfephp+un...@googlegroups.com
Link: http://groups.google.com.br/group/nfephp?hl=pt-BR
-------
Repositórios: https://github.com/nfephp-org
---
You received this message because you are subscribed to the Google Groups "NFePHP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to nfephp+un...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/nfephp/682bd11a-ffe4-4419-900e-795b98046cbdn%40googlegroups.com.

Lucas Augusto Milanes

unread,
Aug 7, 2026, 9:37:51 PM (8 days ago) Aug 7
to nfe...@googlegroups.com
Não tem oq nós fazermos se o problema está no servidor da receita(s).

Aguardamos e tentamos o reenvio.

Em SP acontece toda semana para NFCe e direto para NFe.

Abs


Lucas Augusto Milanes
Skype: Lucas Augusto Milanes

Vinicius Barreira

unread,
Aug 7, 2026, 10:02:30 PM (8 days ago) Aug 7
to nfe...@googlegroups.com
Essa semana tive problemas de instabilidade no Sefaz sp e sequer conseguia consultar NFc pela chave; até dava CAPTCHA inválido.

Pedro Sousa

unread,
Aug 8, 2026, 9:04:05 AM (8 days ago) Aug 8
to nfe...@googlegroups.com
Consegue resolver criando processos dentro de Try Catch, onde ele intercepta todos os erros que podem acontecer dentro no momento de enviar para a sefaz, ficou bem bacana
Agora ele retorna uma mensagem para o operador avisando da instabilidade.

/**
* Identifica falha de comunicação/transporte com a SEFAZ.
*/
private function isFalhaComunicacaoSefaz(\Throwable $e){
// NFePHP: SoapException = falha de transporte/SOAP (inclui Could not resolve host)
if ($e instanceof \NFePHP\Common\Exception\SoapException) {
return true;
}

$mensagens = [$e->getMessage()];
$anterior = $e->getPrevious();
while ($anterior instanceof \Throwable) {
if ($anterior instanceof \NFePHP\Common\Exception\SoapException) {
return true;
}
$mensagens[] = $anterior->getMessage();
$anterior = $anterior->getPrevious();
}

$erroNormalizado = $this->normalizarMensagemErroSefaz(implode(' ', $mensagens));

// Padrões sem acento (mensagem já normalizada). Cobre EN (cURL) e PT (httpcodes.json).
$falhasComunicacao = [
'erro de comunicacao via soap',
'could not resolve host',
'couldn\'t resolve host',
'failed to connect',
'connection refused',
'connection timed out',
'operation timed out',
'timeout was reached',
'could not connect',
'unable to connect',
'empty reply from server',
'ssl connect error',
'ssl certificate problem',
'recv failure',
'connection reset by peer',
'service unavailable',
'servico indisponivel',
'bad gateway',
'gateway timeout',
'tempo de requisicao esgotou',
'erro interno do servidor',
'retorno da sefaz vazio',
'temporary failure in name resolution',
'name or service not known'
];

foreach ($falhasComunicacao as $falha) {
if (strpos($erroNormalizado, $falha) !== false) {
return true;
}
}

return false;
}
/**
* Retorna uma mensagem amigável somente quando a exceção representa
* indisponibilidade de comunicação com a SEFAZ.
*
* Cobre falhas SOAP/cURL (DNS, timeout, HTTP 502/503/504, etc.).
* Erros que não sejam de comunicação continuam no fluxo original de cada método.
*/
private function retornoIndisponibilidadeSefaz(\Throwable $e, $campoSituacao = 'situacao', array $contexto = []){
if (!$this->isFalhaComunicacaoSefaz($e)) {
return null;
}

$erroTecnico = $e->getMessage();

error_log(json_encode([
'evento' => 'indisponibilidade_comunicacao_sefaz',
'erro' => $erroTecnico,
'codigo' => $e->getCode(),
'contexto' => $contexto,
'data' => date('Y-m-d H:i:s')
], JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES));

return [
$campoSituacao => $campoSituacao === 'retorno' ? 'error' : 'sefaz_indisponivel',
'mensagem' => $this->mensagemSefazIndisponivel()
];
} // Função que envia para a sefaz
try { // Código
} catch (\Throwable $e) {
$retorno = $this->retornoIndisponibilidadeSefaz($e, 'retorno', [
'operacao' => 'consulta_cadastro',
'cnpj' => $cnpj,
'uf' => $uf
]);

if ($retorno === null) {
$retorno = [
'retorno' => "error",
'mensagem' => $e->getMessage()
];
}
}



--

Marcos Silva

unread,
Aug 8, 2026, 9:07:34 AM (8 days ago) Aug 8
to NFePHP
Eu gostaria dar minha pequena contribuição, também estou recebendo muito esse erro na sefaz de MT, e além desse tratamento deve haver outro, as vezes a sefaz aprova a nota, e o cupom é um problema pra conseguir pegar de volta, o que eu faço é salvar uma cópia do arquivo antes de enviar pra eventuais casos.

Pedro Sousa

unread,
Aug 8, 2026, 9:38:39 AM (8 days ago) Aug 8
to nfe...@googlegroups.com
Aqui também estava com esse problema de autorizar e não gerar o XML e não atualiza que o banco de dados com a informação, o que retornava Duplicidade de NF-e
Como corrigir:

Envia e retornando erro, qualquer erro verifico novamente pela chave de acesso se a nota foi autorizada e recupero todo o conteúdo junto a SEFAZ.

/*
* Reemissão / recuperação: consulta a chave antes de retransmitir.
* Se já autorizada na SEFAZ, protocola localmente sem novo envio.
*/
if ( $novo != "novo" && !empty($chavenfe) ){
$recuperada = $this->recuperarAutorizacaoPorChave(
$tools,
$chavenfe,
$xmlAssinado,
$path,
$ide,
$tiponota,
$refnfe,
$dest,
$configJson,
$f,
$numeronfe,
$qdeparcelas,
$icmstot['pediid'] ?? 0
);
if ( $recuperada !== null ){
return $recuperada;
}
}

Claudney Pereira

unread,
Aug 10, 2026, 9:44:40 AM (6 days ago) Aug 10
to nfe...@googlegroups.com
Passei muita raiva com isso, do nada a Sefaz / SP implica com o ip externo (Canada) tive que passar todos os meus clientes para um servidor em SP para resolver, abri chamado na sefaz/sp, pesquisei muito, nada resolveu, apenas trocando o servidor.

Claudney



--
 
Atenciosamente!

Claudney Mendes Pereira
Gestor em Tecnologia da Informação.


 
Reply all
Reply to author
Forward
0 new messages