TECNOLOGIA XT - Middleware - Erro ao registrar a execução do serviço: EExAccess at xxx with message "Violação de chave"
Este artigo contém os seguintes tópicos:
1. Descrição do incidente
2. Por que essa mensagem é apresentada
3. Configuração do timeout
1. Descrição do incidente
No log da instância do Middleware, durante a execução de um Webservice, é apresentada a seguinte mensagem Erro ao registrar a execução do serviço: EExAccess at xxx with message "Violação de chave".
2. Por que essa mensagem é apresentada
Quando um Webservice assíncrono ultrapassa o tempo máximo de transação configurado no WildFly, a transação é abortada. Como a execução não é confirmada, a requisição é reenviada ao Middleware utilizando o mesmo IDREQ registrado na tabela R960REQ.
Ao tentar registrar novamente a execução utilizando um IDREQ que já existe na tabela, ocorre uma violação da chave primária.
3. Configuração do timeout
Para evitar a ocorrência da situação, é necessário configurar um tempo de timeout no WildFly compatível com o tempo de execução dos Webservices do ambiente.
1. Acesse a Console Administrativa do WildFly, utilizando, por padrão, a porta 9990;
2. Acesse Configuration > Profiles > Transaction;
3. Clique em View;
4. Na seção Configuration, clique em Edit;
5. No campo Default Timeout, defina o valor desejado;
Observação:
O valor deve ser definido considerando o tempo de execução do Webservice de maior duração no ambiente, de forma que o timeout seja suficiente para concluir a execução da transação.
6. Clique em Save;
7. Faça o reload do domínio para aplicar a alteração.