context.utils.newWSMD(module, service, port: String): <ws>
Essa função define e retorna um objeto que permite a realização de chamadas de Web services do Middleware Senior.
- São chamados somente serviços no mesmo ambiente do Workflow.
- Os serviços executam sempre de forma síncrona.
- Erros ocorridos durante a execução do serviço são tratados sempre como qualquer erro no JavaScript.
O objeto retornado por essa função por si só não realiza a chamada do serviço. Ele apenas inicia a definição dos parâmetro que serão utilizadas para a chamada. Para mais informações sobre todos os parâmetros que podem ser configurados nessa chamada, confira o tópico “Veja também”.
Nota
- Essa função em momento algum substitui a utilização do Executor de Web service do Middleware Senior, ela é apenas um complemento. A utilização do executor é recomendada na maioria dos casos pois, exige que exista uma tarefa definida no processo, o que clarifica o negócio. Assim como, possui mais flexibilidade de configurações na sua chamada.
- Esta função está disponível para os scripts BeforeExecute e AfterExecute da atividade.
Sintaxe: context.utils.newWSMD(module, service, port: String)
Parâmetros:
| Nome | Tipo | Descrição |
| module | String | Texto contendo a descrição do módulo no qual será criado o Web Service. |
| service | String | Texto contendo a descrição do serviço que será criado. |
| port | String | Texto contendo a descrição da porta na qual será disponibilizado o Web Service a ser criado. |
Tipo de retorno: Web service.
Exemplo de utilização:
Essa função é utilizada quando se deseja realizar a chamada de um serviço do Middleware Senior através do JavaScript. O seu uso irá depender muito do processo, segue abaixo um exemplo de utilização.
Dado o processo abaixo de Solicitação Férias, tem-se a seguinte definição: na tarefa Efetivar Férias está configurado um executor para a chamada de Web services do Middleware Senior onde está sendo chamado o serviço para efetivar as férias de um colaborador com os dados que este informou no passo anterior - até aqui não utiliza-se a função, a função será utilizada no script de antes de Efetivas as férias.
Será utilizada a função para chamar um serviço para buscar a quantidade de feriados dentro desse período de férias solicitado pelo colaborador, que é uma informação relevante para a solicitação de férias.
Serviço para retornar a quantidade de feriados na escala de um colaborador:
- Módulo: Rubi;
- Serviço: com.senior.g5.rh.fp.feriados;
- Porta: UsuarioFeriados;
- Parâmetros de entrada:
- Código do colaborador – Long;
- Data inicial do período – Date;
- Data final do período - Date.
- Parâmetros de saída: Quantidade de dias - Int.
Script definido no BeforeExecute da tarefa Efetivar Férias:
// Cria um novo objeto para a chamada do serviço
// O serviço que será chamado é um serviço do módulo Administração de Pessoal (Rubi), conforme informações abaixo.
var servico = context.utils.newWSMD(“rubi”, “com.senior.g5.rh.fp.feriados”, “UsuarioFeriados”);
// Agora com o objeto da chamada do serviço em “mãos”, serão configuradas as demais propriedades dele.
// O serviço que utilizado precisa de autenticação, então, deve-se informar um usuário para isso. Caso o serviço não necessite de autenticação, este campo não precisa ser definido. Neste exemplo, o autenticador será o usuário com o código 15 ou ainda pode-se definir o usuário pelo seu nome, conforme abaixo:
servico.setUserId(15); //ou servico.setUserName("Marcio");
// Define-se um timeout para a execução desse serviço, que será de 10 minutos.
// Essa informação é opcional, se nada for configurado será respeitado o tempo padrão da Central de Configurações.
servico.setTimeout(10);
// Pode-se definir se o estouro da timeout será tratado como erro de negócio ou ambiente. Neste exemplo caso será mantido o tratamento padrão, erro de ambiente. Neste caso não seria necessário utilizar a função abaixo, a qual está sendo apresentada apenas para fins de exemplo.
servico.setTimeoutAsBusinessError(false);
// Define-se os parâmetros de entrada do serviço. Serão definidos os seguintes parâmetros, na ordem: código do colaborador, data inicial e final do período solicitado. Todos os valores são obtidos de variáveis do processo.
var input = servico.getInput();
input.setLong(context.getVars().getLong(“codColab”));
input.setDate(context.getVars().getDate(“peridIni”));
input.setDate(context.getVars().getLong(“peridFim”));
// Chamada do serviço
servico.call();
// Após a execução do serviço, obtém-se os dados retornados pelo mesmo através da função abaixo
var output = serviço.getOutput();
var qtdDias = output.getInt(“QtdDias”);
// Com a informação retornada do serviço as demais manipulações podem ocorrer
(...)

English
Español


