Interface web

Permite definir uma chamada para uma interface web para o tratamento de tarefas, que abrange a tela inicial e a tela com tarefas realizados pelos usuários.

As propriedades deste executor são organizadas pelos agrupadores:

A autenticação entre o sistema e a interface web é realizada através do tokenSenior, que é gerado e enviado no corpo da requisição POST quando for web service do tipo REST ou chamado como parâmetro quando for web service SOAP.

Importante

Ao incluir uma interface, é necessário guardar o tokenSenior da requisição e utilizá-lo para chamada dos web services.

A validação do tokenSenior é configurada na Central de Configurações Senior, que atinge todos os sistemas que utilizam esta configuração. Inclusive, ao informar um valor, em minutos, para validade deste token, este é utilizado também para os sistemas Portal Corporativo e Gestão do Ponto. Quando esta validade for atingida, o tokenSenior é invalidado e, implicitamente, a interface não responderá ao Workflow.

Nas tarefas é necessário o envio do tokenFlow para interface web. Isto ocorre, pois é imprescindível a chamada do web service do Workflow, SOAP ou REST, que dá a sequência a este processo. É possível adicionar este tokenFlow apenas em formato Placeholder na URL ou através do método BeforeExecute.

No envio dos dados de entrada para interface através do método através do JavaScript, utilize a função context.getTask().getInput(). As informações ali adicionadas são transformadas em JSON e enviadas no corpo da requisição.

Retorno

Os dados de retorno são definidos pelo desenvolvedor da interface a partir de um serviço REST ou SOAP, através do web service de resposta, tipo REST. O retorno da interface web à tarefa pode ocorrer de duas maneiras:

  1. Conforme formato XML (web service SOAP):

    <?xml version="1.0" enconding=ISO-8859-1"?>

    <user>usuário</user>

    <password>senha</password>

    <encrypt>encriptação</encrypt>

    <token>token do processo</token>

    <params>

    //Aqui devem ser informado os parâmetros

    //Esse formato não sendo respeitado, o conteúdo não poderia ser lido pelo Workflow e um erro será retornado durante a execução

    <field-name>field-value</field-name>

    <field-name>field-value</field-name>

    <field-name>field-value</field-name>

    </params>

    </xml>

  2. Conforme formato JSON (web service do tipo REST):

    {

    response: {

    "string-name": "string-value",

    "int-name": int-value,

    "double-name": double-value,

    "boolean-name": "boolean-value",

    "date-name": "date-value", //Respeita o formado ISO-8601 (www.w3.org/TR/NOTE-datetime)

    "datetime-name": "datetime-value", //Respeita o formato ISO-8601

    "binary-name": "binary-value", //Respeita o formato Base64 (en.wikipedia.org/wiki/Base64)

    "long-name": long-value,

    "object-name": {

    "field-name": "field-value"

    "field-name": "field-value",

    "field-name": "field-value"

    },

     

    "list-name": [

    {"field-name": "field-value"},

    {"field-name": "field-value"}

    ]

    }

    }

Quando o retorno não está em algum destes formatos, um erro de negócio é lançado na execução do processo.

Através do método AfterExecute também é possível obter os dados de retorno da interface. Para isto, utilize a função context.getTask().getOutput().

Este artigo ajudou você?