Ambiente de emissão incorreto após iteração no timeout do soap
gabrielpuzl opened this issue · 3 comments
** Nota: para questões de suporte, use Google Groups https://groups.google.com/forum/#!forum/nfephp **. Os problemas deste repositório são reservados para solicitações de recursos e relatórios de erros.
-
Estou enviando um ...
- bug
- requisição de funcionalidade
- requisição de suporte => Por favor, não envie solicitação de suporte aqui, veja a nota no topo deste modelo.
-
** Por favor, conte-nos sobre o seu ambiente: **
- Versão do leiaute: 4.00
- PHP 8.1
- Servidor linux
Comportamento esperado
O tpAmb deve permanecer o do construct
Comportamento Atual
O tpAmb é redefinido pelo padrão = 2
Passos para reproduzir
Contexto (Ambiente)
Após setar o timeout do soap, não foi mais possível emitir em produção. o XML gerado pela lib tinha o tpAmb = 1, porém sempre envia para o ambiente de homologação.
Descrição detalhada
Estava tendo alguns problemas com timeout do soap com a lib para emitir NF-e modelo 55. Após algumas pesquisas e testes, encontrei a issue #587 respondida pelo @robmachado.
Conforme a resposta do rob, uma solução rápida seria alterar o timeout do sopa, conforme:
$tools = new Tools($config, $certificate);
$tools->soap->timeout(40); //tempo para timeout em segundos
Porém ao definir o timeout do soap, a lib do sped-nfe volta a setar o tpAmb como 2, ao invés de manter "1" como setado anteriormente.
Solução encontrada utilizando recursos da biblioteca
Para mais informações, consulte o guia de CONTRIBUTING.
Acredito que está havendo algum outro problema ai, pois as classes "soap" não interferem no ambiente (produção ou homologação).
Apenas as classes "tools" interagem com esses parâmetros.
//carregar e configurar a classe soap
$soap = new SoapCurl($cert);
$soap->timeout = 60;
//carregar a classe tools
$tools = new Tools($configJson, $cert);
$tools->model = 55;
//carregar a classe soap a ser usada na comunicação
$tools->loadSoapClass($soap);
No meu caso, eu instanciei a Tools primeiro, pode ter sido isso. Vou seguir seu exemplo e fazer mais testes
Me avise, se o problema ocorrer novamente