TECNOLOGIA - Middleware - Processos ficam travados no Middleware/Sistema (ausência de tratativas relacionadas a execução de regras)
Incidente
No processamento de requisições no Middleware Senior, o processamento não é concluído gerando travamento de processos e timeouts de comunicação.
Para o sistema Gestão Empresarial | ERP, segue exemplo de uma situação típica que ocorre quando um tratamento adequado não é realizado em uma regra chamada no identificador de regras VEN-140CNFEC01 em um retorno de rejeição de cancelamento de NF-e:
1. O eDocs não consegue retornar a rejeição do cancelamento para o Gestão Empresarial | ERP;
2. O retorno sendo executado via WebService fica sempre em execução no Console de Requisição (a Consulta ocorre conforme artigo ERP - WebServices - Como efetuar a Consulta de Requisições de WebServices);
3. No Log do eDocs você encontrará a mensagem Erro ao retornar situação da nota ao ERP.
System.Net.WebException: O tempo limite da operação foi atingido que é um timeout de comunicação, porque a instância do Middleware não termina o processamento e o eDocs deixa de esperar um retorno, gerando o timeout. A instância não termina o processamento porque a regra ligada ao identificador é acionada e uma mensagem, por exemplo, seria exibida ao usuário, mas como a execução é no Middleware, o processamento fica travado, pois não deve haver interação com usuário neste processo.
Causa
Essa situação pode ocorrer pela ausência de tratativas relacionadas a execução de regras que acionam processos que não podem ser executados quando o processo é executado no Middleware Senior.
Solução
- Na execução de processos através de WebService/Middleware não pode ocorrer:
- Nenhuma exceção, ou seja, nenhuma mensagem, do contrário o processo é bloqueado;
- Execução de relatórios que abra uma tela de entrada, por exemplo, pois nesse caso irá ocorrer o travamento do processo, já que via Middleware não é possível fazer a execução do relatório/abertura da tela de entrada.
Nesse caso, é necessário tratar nas regras utilizadas para que quando a execução da mesma for via Middleware (instância de WebService/Web 5.0) não deve ser gerado as mensagens ao usuário (ou até mesmo abertura de relatórios e telas que necessitem de interação com usuário).
Para tratar esse cenário, efetue o procedimento abaixo:
1. Acesse o artigo TECNOLOGIA - MIddleware - Como identificar em regras LSP que a execução está sendo realizada no Middleware (através de um WebService ou Web 5.0) e verifique como identificar dentro de regras LSP que um processo é executado no Middleware;
2. Verifique as suas customizações para adequá-las a esse tipo de tratativa.
Atenção
As informações abaixo são muito importantes para processos relativos a autorização e cancelamento de documentos fiscais no Gestão Empresarial | ERP.
No retorno de uma rejeição de cancelamento de um Documento Eletrônico, o sistema realiza o procedimento abaixo:
- Quando é solicitado o cancelamento de um Documento eletrônico, o campo E140NFV.SitNFv é definido como '3-Cancelado' e o campo E140IDE.SitDoe é definido como '7-Solicitado o cancelamento';
- Quando ocorre a rejeição de um cancelamento, o procedimento que o sistema realizar é reabilitar o doicumento e fechá-lo novamente, para que ela fique novamente no status de '2-Fechada' (E140NFV.SitNfv) e '3-Autorizada' (E140IDE.SitDoe);
Nesse processo de reabilitação e fechamento no retorno da rejeição, o sistema executa todas as consistências padrões, inclusive executa os identificadores de regras. Quando existe algum identificador de regras que: retorna mensagem para o usuário, que auxilie na execução de processos personalizados com retornos ao usuário (como limite de crédito) ou ainda que execute um relatório, o processo de retorno não ocorre, pois na execução de qualquer regra via Middleware (instância de WebService/Web 5.0) não pode ser gerado nenhuma exceção na regra (mensagem), e também não pode ser executado nenhum relatório, pois isso impede o processamento via Middleware, travando o processo de retorno.
Seguem exemplos de identificadores de regras que podem afetar o processo de retornos de status de documentos eletrônicos:
- Retorno de rejeição de Cancelamento:
- VEN-140CNFEC01. Clique aqui para acessar a documentação deste identificador;
- VEN-140CNFEC02. Clique aqui para acessar a documentação deste identificador;
- VEN-140CNFEC03. Clique aqui para acessar a documentação deste identificador;
- VEN-140FRENF01. Clique aqui para acessar a documentação deste identificador;
- Retorno de Autorização do documento eletrônico:
- VEN-140NEIMPBO. Clique aqui para acessar a documentação deste identificador.
- VEN-140NEIMPBO. Clique aqui para acessar a documentação deste identificador.
Por este motivo é tão importante fazer uso das funções/variáveis disponíveis para correta tratativa no sistema dos momentos em que determinados pontos das regras LSP sejam acionados.
Para mais informações sobre os WebServices do Gestão Empresarial | ERP, consulte o artigo ERP - WebServices - Onde é possível encontrar informações diversas sobre processo de integração via WebServices (índice).