nfephp-org/sped-nfe

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