Tipo de retorno requerido de um WebService no G5
-
gabriel.rissatti
Participante# 5 anos, 11 meses atrásBom dia pessoal,
estou preparando o backend no G5 para que o BPM consuma esses serviços, porém mesmo lendo os tópicos abaixo :Ainda fiquei com uma dúvida.Desenvolvi um WebService, conforme regra abaixo para retornar a listagem de dependentes elegíveis para inclusão em um plano de saúde ou exclusão :
/*
Consultor:Gabriel Rissatti
Data de criação:02/10/2018
*/
DEFINIR ALFA ASQL;
DEFINIR ALFA CR036DEP;
DEFINIR NUMERO NNUMEMP;
DEFINIR NUMERO NTIPCOL;
DEFINIR NUMERO NNUMCAD;
DEFINIR NUMERO NCODDEP;
DEFINIR ALFA ANOMDEP;
DEFINIR DATA DDATZER;
DEFINIR ALFA ATIPO;
NNUMEMP =getDepOdontoDisp.enumemp;
NTIPCOL =getDepOdontoDisp.etipcol;
NNUMCAD =getDepOdontoDisp.enumcad;
ATIPO =getDepOdontoDisp.etipo;
MONTADATA(31,12,1900,DDATZER);
SE(ATIPO=”I”)
{
@se for inclusão no plano faremos um not exists, agora se for exclusão faremos um exists@
ASQL =”SELECT CODDEP, NOMDEP \
FROM R036DEP P \
WHERE NUMEMP = :NUMEMP \
AND TIPCOL = :TIPCOL \
AND NUMCAD = :NUMCAD \
AND DATOBI = :DATZER \
AND NOT EXISTS( \
SELECT ‘X’ \
FROM R164DEP A \
WHERE A.NUMEMP = P.NUMEMP \
AND A.TIPCOL =P.TIPCOL \
AND A.NUMCAD =P.NUMCAD \
AND A.CODDEP =P.CODDEP \
AND A.MESEXC = :DATZER \
AND A.CODOEM = 2 )”;
}
SENAO
{
ASQL =”SELECT CODDEP, NOMDEP \
FROM R036DEP P \
WHERE NUMEMP = :NUMEMP \
AND TIPCOL = :TIPCOL \
AND NUMCAD = :NUMCAD \
AND DATOBI = :DATZER \
AND EXISTS( \
SELECT ‘X’ \
FROM R164DEP A \
WHERE A.NUMEMP = P.NUMEMP \
AND A.TIPCOL =P.TIPCOL \
AND A.NUMCAD =P.NUMCAD \
AND A.CODDEP =P.CODDEP \
AND A.MESEXC = :DATZER \
AND A.CODOEM = 2 )”;
}
SQL_CRIAR(CR036DEP);
SQL_DEFINIRCOMANDO(CR036DEP,ASQL);
SQL_USARABRANGENCIA(CR036DEP,0);
SQL_USARSQLSENIOR2(CR036DEP,0);
SQL_DEFINIRINTEIRO(CR036DEP,”NUMEMP”,NNUMEMP);
SQL_DEFINIRINTEIRO(CR036DEP,”TIPCOL”,NTIPCOL);
SQL_DEFINIRINTEIRO(CR036DEP,”NUMCAD”,NNUMCAD);
SQL_DEFINIRDATA(CR036DEP,”DATZER”,DDATZER);
SQL_ABRIRCURSOR(CR036DEP);
ENQUANTO(SQL_EOF(CR036DEP)=0)
{
SQL_RETORNARINTEIRO(CR036DEP,”CODDEP”,NCODDEP);
SQL_RETORNARALFA(CR036DEP,”NOMDEP”,ANOMDEP);
getDepOdontoDisp.Dependentes.CRIARLINHA();
getDepOdontoDisp.Dependentes.coddep = NCODDEP;
getDepOdontoDisp.Dependentes.nomdep = ANOMDEP;
SQL_PROXIMO(CR036DEP);
}
SQL_FECHARCURSOR(CR036DEP);
SQL_DESTRUIR(CR036DEP);Notem que o trecho em negrito é onde eu alimento uma tabela de retorno.. Agora minha dúvida:
Para que o BPM possa consumir este web service e carregar um data source no futuro eu posso continuar retornando essa tabela ou preciso retornar uma string com a notação Json, por exemplo: [{“COLUNA”:”VALOR”,”COLUNA2″:”VALOR2″},{“COLUNA”:”VALOR”,”COLUNA2″:”VALOR2″}].Desde já, muito obrigado.
daniel.huebes
Participante# 5 anos, 11 meses atrásBom dia Gabriel,
Na verdade o ideal é usar uma tabela, como você fez.
Sua URL da fonte de dados deve ser neste formato:
https://SERVER:PORTA/SXI/G5Rest?server=SERVER:PORTA&module=rubi&service=&port=&DATASOURCEATTRNAME=dependentes Na tela de cadastro da fonte de dados, você vai informar \\\\\\\”Objete raíz\\\\\\\” = \\\\\\\”dependentes\\\\\\\”.
E cadastrar os campo \\\\\\\”coddep\\\\\\\” e \\\\\\\”nomdep\\\\\\\”.Não se esquece que o Glassfish deve estar liberado para o SeniorX e de instalar a API, conforme primeira parte da documentação https://dev.senior.com.br/documentacao/integracao-com-g5/
gabriel.rissatti
Participante# 5 anos, 11 meses atrásBom dia, após realizar todas as etapas, obtive o seguinte retorno:
“IP” demorou muito para responder.
Glassfish e rabbit estão online e segui todos os passos dos tutoriais, saberiam me dizer o que seria?
Muito obrigado
You must be logged in to reply to this topic.