Boa noite,
Estamos utilizando uma atividade de serviço para gerar uma solicitação de compras no RM, a chamada está sendo feita via SOAP. Na maioria das vezes a solicitação é gerada corretamente, mas em algumas situações recebemos o seguinte retorno:
JavaException: javax.xml.ws.WebServiceException: Could not receive Message. (#239) - Tempo de Execução 120 s
Enviar novamente a solicitação para atividade de serviço resolve.
Aparentemente trata-se de um erro no retorno do RM, alguém já enfrentou esse problema?
Obrigado desde já.
Provavelmente é o tempo de integração do seu sistema está demorando, dar para resolver isto aumentando o timeOut no seu arquivo domain.xml(C:\fluig\appserver\domain\configuration) da plataforma fluig.
Segue documentação: Como alterar o timeout da plataforma - TOTVS Fluig - TDN
1 curtida
Você também consegue aumentar o tempo de timeout da sua chamada do saveRecord sem precisar alterar da plataforma como um todo dessa forma:
// monta a requisição ao servidor
var servico = ServiceManager.getService(SERVICO);
var instancia = servico.instantiate(CAMINHO_SERVICO);
var ws = instancia.getRMIwsDataServer();
var serviceHelper = servico.getBean();
var properties = {};
properties['basic.authorization'] = 'true';
properties['basic.authorization.username'] = USUARIO;
properties['basic.authorization.password'] = SENHA;
properties['disable.chunking'] = 'true';
properties['log.soap.messages'] = 'true';
properties['receive.timeout'] = '180000'; // timeout em milissegundos
var authService = serviceHelper.getCustomClient(ws, CLASSE_SERVICO, properties);
// var authService = serviceHelper.getBasicAuthenticatedClient(ws, CLASSE_SERVICO, USUARIO, SENHA);
// contexto para chamada do DataServer
CONTEXTO = 'CODUSUARIO=' + USUARIO + ';CODSISTEMA=T;CODCOLIGADA=' + CODCOLIGADA;
var resp = authService.saveRecord(NOMEDATASERVER, XML, CONTEXTO);
Coloquei o código pela metade pois o importante é a criação desse properties onde vc coloca o tempo de timeout em milisegundos, ou seja, 180000 = 3 minutos, recomendo ir aumentando aos poucos, colocar 5min inicialmente e ir validando se é o suficiente para sua demanda.
1 curtida
Muito obrigado, pessoal. Vou testar essa solução de aumentar o timeout. Por incrível que pareça o erro não acontece há bastante tempo.