5477 - SID - Conexão com o Servidor
Problema: Descrição do Problema: Após atualizar para a versão 5.7.2 as regras onde utilizam SapiensSid pararam de funcionar, gerando a seguinte mensagem abaixo:
ERRO: Conexão com servidor WEB não estabelecida. Verifique os parâmetros da conexão
Quando ocorre / onde se aplica: Em regras, telas SGI.
Solução: Solução:
O GlassFish está configurado para disponibilizar as aplicações na sua porta padrão (8080), porém as funções SapiensSID() ou SapiensSIDEx() comunicam-se apenas com a porta 80.
Portanto, relatórios e regras que utilizam as funções não funcionam após atualizar para novo Middleware ou migrar solução Web 5.0 para o GlassFish (compatibilidade).
Quando o ambiente já está convertido, temos duas opções:
- Alterar a configuração do GlassFish para utilizar a porta 80 e refazer o processo de deploy da Web 5.0 e web services. Desta forma não é precisa alterar as funções;
ou
- Alterar as regras LSP que utilizam as funções SapiensSID() ou SapiensSIDEx(), substituindo suas chamadas por funções para requisições HTTP (verifique a documentação em Ferramentas Apoio > Linguagem Senior de Programação > Funções > Funções para requisições HTTP).
Quando o cliente ainda não converteu o ambiente: No momento da conversão, pode-se indicar a alteração da porta padrão do Glassfish. É feito em uma pergunta no processo de conversão, com qual porta o Glassfish irá se comunicar. Indica-se a porta 80. Desta forma, as funções irão se comunicar normalmente.
Estamos encaminhando abaixo um exemplo de regra com as novas funções:
Definir alfa aEndWeb;
Definir alfa aEnter;
Definir alfa aMsgErr;
Definir alfa aNomBas;
Definir alfa aNomUsu;
Definir alfa aPrxSen;
Definir alfa aPrxUsu;
Definir alfa aRetSid;
Definir alfa aSenUsu;
Definir alfa aURL;
Definir alfa aVarAux;
Definir alfa aXML;
Definir Alfa xDados;
Definir Alfa aRetorno;
aEndWeb =http://servidor:9090/sapiensweb;
aNomUsu =suporte;
aSenUsu =suporte;
aPrxUsu =;
aPrxSen =;
/* conexão */
aURL =aEndWeb + /conector?SIS=CO + &LOGIN=SID&ACAO=EXESENHA&NOMUSU= + aNomUsu + &SENUSU= + aSenUsu;
HttpObjeto(aVarAux);
Se (aPrxUsu <> )
HttpAlteraAutenticacaoProxy(aVarAux,aPrxusu,aPrxSen);
HttpPost(aVarAux,aURL,,aRetSid);
aMsgErr = aRetSid;
CopiarAlfa(aMsgErr,1,5);
aVarAux = aMsgErr;
DeixaNumeros(aVarAux);
Se (aVarAux <> aMsgErr)
Inicio
aMsgErr =Falha na conexão com o servidor + aEndWeb + + aRetSid + . [OK];
Mensagem(Retorna,aMsgErr);
Cancel(1);
Fim;
aEndWeb = aEndWeb + /conector?SIS=CO + aNomBas + &LOGIN=SID&ACAO=SID.SRV.XML&USER= + aNomUsu + &CONNECTION= + aRetSid;
aEndWeb = aEndWeb + &ACAO=SID.SRV.XML;
/* ação */
aXML =;
aXML =aXML + ;
aXML =aXML + ;
aXML =aXML + ;
aXML =aXML + ;
aXML =aXML + ;
aXML =aXML + ;
xDados = SIDXML= + + aXML + ;
/* execução */
HttpObjeto(aVarAux);
HttpPost(aVarAux,aEndWeb,xDados,aRetSid);
aRetorno = Sequência: + aRetSid;
Mensagem(Retorna,aRetorno);
Validade: /#31/12/2020#/
Público: Interno, canais/consultores, clientes
ERRO: Conexão com servidor WEB não estabelecida. Verifique os parâmetros da conexão
Quando ocorre / onde se aplica: Em regras, telas SGI.
Solução: Solução:
O GlassFish está configurado para disponibilizar as aplicações na sua porta padrão (8080), porém as funções SapiensSID() ou SapiensSIDEx() comunicam-se apenas com a porta 80.
Portanto, relatórios e regras que utilizam as funções não funcionam após atualizar para novo Middleware ou migrar solução Web 5.0 para o GlassFish (compatibilidade).
Quando o ambiente já está convertido, temos duas opções:
- Alterar a configuração do GlassFish para utilizar a porta 80 e refazer o processo de deploy da Web 5.0 e web services. Desta forma não é precisa alterar as funções;
ou
- Alterar as regras LSP que utilizam as funções SapiensSID() ou SapiensSIDEx(), substituindo suas chamadas por funções para requisições HTTP (verifique a documentação em Ferramentas Apoio > Linguagem Senior de Programação > Funções > Funções para requisições HTTP).
Quando o cliente ainda não converteu o ambiente: No momento da conversão, pode-se indicar a alteração da porta padrão do Glassfish. É feito em uma pergunta no processo de conversão, com qual porta o Glassfish irá se comunicar. Indica-se a porta 80. Desta forma, as funções irão se comunicar normalmente.
Estamos encaminhando abaixo um exemplo de regra com as novas funções:
Definir alfa aEndWeb;
Definir alfa aEnter;
Definir alfa aMsgErr;
Definir alfa aNomBas;
Definir alfa aNomUsu;
Definir alfa aPrxSen;
Definir alfa aPrxUsu;
Definir alfa aRetSid;
Definir alfa aSenUsu;
Definir alfa aURL;
Definir alfa aVarAux;
Definir alfa aXML;
Definir Alfa xDados;
Definir Alfa aRetorno;
aEndWeb =http://servidor:9090/sapiensweb;
aNomUsu =suporte;
aSenUsu =suporte;
aPrxUsu =;
aPrxSen =;
/* conexão */
aURL =aEndWeb + /conector?SIS=CO + &LOGIN=SID&ACAO=EXESENHA&NOMUSU= + aNomUsu + &SENUSU= + aSenUsu;
HttpObjeto(aVarAux);
Se (aPrxUsu <> )
HttpAlteraAutenticacaoProxy(aVarAux,aPrxusu,aPrxSen);
HttpPost(aVarAux,aURL,,aRetSid);
aMsgErr = aRetSid;
CopiarAlfa(aMsgErr,1,5);
aVarAux = aMsgErr;
DeixaNumeros(aVarAux);
Se (aVarAux <> aMsgErr)
Inicio
aMsgErr =Falha na conexão com o servidor + aEndWeb + + aRetSid + . [OK];
Mensagem(Retorna,aMsgErr);
Cancel(1);
Fim;
aEndWeb = aEndWeb + /conector?SIS=CO + aNomBas + &LOGIN=SID&ACAO=SID.SRV.XML&USER= + aNomUsu + &CONNECTION= + aRetSid;
aEndWeb = aEndWeb + &ACAO=SID.SRV.XML;
/* ação */
aXML =;
aXML =aXML + ;
aXML =aXML + ;
aXML =aXML + ;
aXML =aXML + ;
aXML =aXML + ;
aXML =aXML + ;
xDados = SIDXML= + + aXML + ;
/* execução */
HttpObjeto(aVarAux);
HttpPost(aVarAux,aEndWeb,xDados,aRetSid);
aRetorno = Sequência: + aRetSid;
Mensagem(Retorna,aRetorno);
Validade: /#31/12/2020#/
Público: Interno, canais/consultores, clientes