ERP MEGA - Integrador - ORA-29273: Falha na solicitação HTTP
Incidente
No módulo Integrador, ao tentar realizar o envio de XML ou executar uma integração via Web Service no PLSQL, é apresentada a mensagem: ORA-20003: Não foi possível se conectar ao SrvMegaIntegrador.exe
ORA-29273: Falha na solicitação HTTP
ORA-06512: em SYS.UTL_HTTP, line 1130
ORA-12541: TNS:não há listener
ORA-06512: em MGINT.INT_PCK_UTIL, line 631.
Causa
Esta mensagem é apresentada, pois as configurações de ACL não estão configuradas OU o firewall está barrando o uso da porta do Integrador.
Solução
Para que a integração seja realizada corretamente, verifique os itens a seguir:
- O SrvMegaIntegrador.exe deve estar sendo executado;
- A porta de configuração informada deve ser a mesma utilizada pelo SrvMegaIntegrador.exe;
- Não haver qualquer ferramenta de segurança impedindo a conexão com o SrvMegaIntegrador.exe;
- Crie uma regra de exceção para a porta consumida pelo SrvMegaIntegrador.exe;
Para criar a regra de ACL em uma base que nunca houve uma integração Webservice com o Mega, realize os passos a seguir:
1. Acesse PL/SQL com o usuário SYS as Sysdba. Caso não seja essa senha, consulte o seu DBA (Administrador de banco de dados);
2. Acesse o menu File / Comand Window, insira os comandos abaixo:
Atenção! No lugar de MGGLO, substitua para owner utilizado no mega.
create role mega_utl
/
BEGIN
DBMS_NETWORK_ACL_ADMIN.CREATE_ACL (
acl => 'mgglo.xml',
description => 'Permissions to Mega',
principal => 'MGGLO',
is_grant => TRUE,
privilege => 'connect');
COMMIT;
END;
/
BEGIN
DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE (
acl => 'mgglo.xml',
principal => 'MEGA_UTL',
is_grant => TRUE,
privilege => 'connect',
position => null);
COMMIT;
END;
/
BEGIN
DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL (
acl => 'mgglo.xml',
host => '*'); // Nome ou IP
lower_port => *, // A porta de configuração informada deve ser a mesma utilizada pelo SrvMegaIntegrador.exe
upper_port => *); // A porta de configuração informada deve ser a mesma utilizada pelo SrvMegaIntegrador.exe
COMMIT;
END;
/
grant mega_utl to mgglo
/
3. Após isso, realize novamente a integração via WebService que funcionará normalmente.