Workflow - Manual do Usuário > Modelador > Automatização > Funções JavaScript > Utilitários > Web services do Middleware > <ws>.setUserName(name: String)

<ws>.setUserName(name: String)

 

Essa função define o usuário que será utilizado para realizar a autorização da execução do Web service em questão, no respectivo sistema.

Nota

  • Existe outra função para definir o usuário autenticador, a qual, porém, recebe como entrada o identificador (ID) do usuário para autenticação. Mais detalhes em setUserId(id).
  • Este recurso está disponível para os scripts BeforeExecute e AfterExecute da atividade.
  • Se for informado um usuário que não seja efetivamente um usuário (código inválido ou código de um grupo), será lançado um erro de negócio na execução do script.
  • Aconselha-se que, caso não se tenha garantido que o valor que está sendo definido como autenticador seja um usuário, seja feita uma validação do conteúdo a ser passado antes de efetivamente passa-lo como autenticador. Essa validação pode ser feita através do próprio script da tarefa, utilizando as funções utilitárias de JavaScript disponibilizadas pelo Workflow. Isso evita que ocorra erro de negócio caso o valor seja um grupo,informado por exemplo.

Sintaxe: <ws>.setUserName(name: String)

Parâmetros:

Nome Tipo Descrição
name String Texto correspondente ao nome do usuário que será utilizado para autorização da execução do Web service.

Tipo de retorno: Sem retorno.

Exemplo de utilização:

Serviço para retornar a quantidade de feriados na escala de um colaborador:

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

(...)

Este artigo ajudou você?