Web service ProcessManager

Gerenciador de processos do Workflow.

WSDL

Síncrono: http://example.com/TaskManagerServices/ProcessManager?WSDL

Portas

startProcess

Permite que seja iniciada a instância de um processo do Workflow via web service. Os processos que podem ser iniciados são os que estão publicados no servidor.

Para iniciar um processo são realizadas as seguintes validações, conforme tipo do processo:

Necessita autenticação: Sim.

Situação da versão: Atual.

Versão: 1.

Requisição:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://services.senior.com.br">
   <soapenv:Header/>
   <soapenv:Body>
      <ser:startProcess>
         <processName>String</processName>
         <user>String</user>
         <pass>String</pass>
         <encrypted>Int</encrypted>
         <parameters>String</parameters>
      </ser:startProcess>
   </soapenv:Body>
</soapenv:Envelope>

Parâmetros da requisição:

Nome Preenchimento Tipo Descrição
processName Obrigatório String Nome do processo a ser iniciado.
user Obrigatório String Nome do usuário para autenticação.
pass Obrigatório String Senha do usuário para autenticação.
encrypted Obrigatório Integer Campo utilizado para encriptação de senha. Pode ser: 0 (Sem encriptação) e 1 (encriptado). Quando a chamada for realizada por um sistema não Senior, sempre deve ser informado parâmetro zero (0), pois este sistema não terá como encriptar a senha no padrão Senior.
parameters Obrigatório String

Variáveis necessárias para iniciar o processo. Deve ser informado em formato XML ISO-8859-1.

Resposta:

Observação

Envelope SOAP de resposta de requisições síncronas.

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
   <soapenv:Body>
      <ns2:startProcessResponse xmlns:ns2=_"http://services.senior.com.br">
         <return>OK</return>
      </ns2:startProcessResponse>
   </soapenv:Body>
</soapenv:Envelope>

Ao executar o web service, sempre é disponibilizado um retorno que pode ser uma das seguintes situações:

  1. Sucesso: a requisição da inicialização do processo for realizada, o retorno é: OK= ID da instância que foi iniciada no processo;

    Nota

    Quando o retorno for OK, significa que a requisição do web service foi colocada na fila para execução e que será tratada em breve.

  1. Erros contornáveis:
    1. Caso não seja possível autenticar, a inicialização dos processos é abortada e é apresentada uma mensagem, conforme situação do erro:
      1. Duração de conta: o sistema verifica se existe uma data de expiração definida para a conta do usuário;
      1. Autenticação: nome do usuário/senha não é informado ou é inválido;
      2. Bloqueio de conta: conta do usuário será bloqueada. Processo informado inexistente.
    2. Processo indisponível para ser iniciado retorna a mensagem;
    3. Existe um timeout de 60 segundos para cada chamada de web service. Este tempo não poderá ser alterado. Caso a solicitação de início ultrapasse, a execução é cancelada. Esta é a única ocorrência de erro contornável que é registrada no log do servidor.
  2. Erros desconhecidos:
    1. Ao ocorrer qualquer outro erro que não seja um dos listados acima, a mensagem do erro é de acordo com o erro ocorrido. Erros desconhecidos serão registrados no log do servidor;
    2. Quando a mensagem de retorno é vazia: "Erro desconhecido" + $stack_trace_erro.

Exemplo de execução:

Chamada do web service para iniciar um processo até o seu retorno com um cenário de sucesso:

  1. Execute a chamada:
    • URL: http://<servidor>:<porta>/TaskManagerServices/ProcessManager
    • Operação: startProcess
  2. Informe os parâmetros de entrada:
    • Nome do processo: Teste
    • Usuário: senior
    • Senha: senior
    • Encriptação: 0 (sem encriptação)
    • Parâmetros de entrada do processo
    • <?xml version="1.0" encoding="ISO-8859-1"?>

      <data>

      <codigo>123456</codigo>

      <id>12345678901234567</id>

      <valor>123456.78</valor>

      <endereco>

      <log><![CDATA[NomeRua, 123 - NomeBairro]]</log>

      <cidade>NomeCidade</cidade>

      <cep>89000-000</cep>

      </endereco>

      </data>

      </xml>

  1. Ao executar, o sistema retorna: OK= ID da instância que foi iniciada no processo.

cancelProcess

Possibilita o cancelamento de instâncias do processo. As que já foram canceladas ou concluídas não poderão ser canceladas. Ao executar o cancelamento, o web service finalizará a instância do processo imediatamente, abortando caminhos paralelos, alterando seu status para cancelada e executando a compensação no escopo do processo e em todos os seus subprocessos.

Necessita autenticação: Sim.

Situação da versão: Atual.

Versão: 1.

Requisição:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://services.senior.com.br">
   <soapenv:Header/>
   <soapenv:Body>
      <ser:cancelProcess>
         <flowInstanceId>Long</flowInstanceId>
         <user>String</user>
         <pass>String</pass>
         <encrypted>Int</encrypted>
         <cause>String</cause>
      </ser:cancelProcess>
   </soapenv:Body>
</soapenv:Envelope>

Parâmetros da requisição:

Nome Preenchimento Tipo Descrição
flowInstanceId Obrigatório Long Identificador único da instância do processo.
user Obrigatório String Nome do usuário para autenticação.
pass Obrigatório String Senha do usuário para autenticação.
encrypted Obrigatório Integer Campo utilizado para encriptação de senha. Pode ser: 0 (Sem encriptação) e 1 (encriptado). Quando a chamada for realizada por um sistema não Senior, sempre deve ser informado parâmetro zero (0), pois este sistema não terá como encriptar a senha no padrão Senior.
cause Obrigatório String Informar um texto sobre o motivo do cancelamento do processo.

Resposta:

Observação

Envelope SOAP de resposta de requisições síncronas.

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
   <soapenv:Body>
      <ns2:cancelProcessResponse xmlns:ns2=_"http://services.senior.com.br">
         <return>OK</return>
      </ns2:cancelProcessResponse>
   </soapenv:Body>
</soapenv:Envelope>

Ao executar o cancelamento da instância do processo é disponibilizado um retorno, que pode ser uma das seguintes situações:

  1. Sucesso: caso a requisição do cancelamento da instância ocorra com sucesso, o retorno é: OK;

    Nota

    Quando o retorno for OK, significa que a requisição do web service foi colocada na fila para execução e que será tratada em breve.

  1. Erros contornáveis:
    1. Caso não seja possível autenticar, o cancelamento dos processos é abortado e é apresentado uma mensagem conforme situação do erro:
      1. Duração de conta: o sistema verifica se existe uma data de expiração definida para a conta do usuário;
      1. Autenticação: nome do usuário/senha não é informado ou é inválido;
      2. Bloqueio de conta: situações em que a conta do usuário será bloqueada.
    2. Caso não exista uma instância de processo com o ID informado, uma mensagem explicando a situação é apresentada;
    3. Caso o usuário não tenha permissão de administrador no cockpit, uma mensagem informando a situação é apresentada;
    4. Existe um timeout de 60 segundos para cada chamada de web service. Este tempo não poderá ser alterado. Caso a solicitação de início ultrapasse, a execução é cancelada e uma mensagem informando a situação é exibida. Esta é a única ocorrência de erro contornável que é registrada no log do servidor.
  2. Erros desconhecidos:
    1. Caso ocorra algum erro na execução, uma mensagem do erro ocorrido é apresentada;
    2. Quando a mensagem de retorno é vazia: "Erro desconhecido" + $stack_trace_erro.

Exemplo de execução:

Chamada do web service até o seu retorno com um cenário de sucesso:

  1. Execute a chamada:
    • URL: http://<servidor>:<porta>/TaskManagerServices/ProcessManager
    • Operação: cancelProcess
  2.  Informe os parâmetros de entrada para o cancelamento. Os dados dos campos usuário e senha são utilizados para autenticar o usuário informado:
    • ID da instância do processo: d4360ad:137986106af:-7ff9
    • Usuário: senior
    • Senha: senior
    • Encriptação: 0 (sem encriptação)
    • Motivo do cancelamento: instância com problema
  3. Aguarde a validação do sistema;
  4. O sistema retorna: OK.

responseProcess

Serve para que o performer do sistema integrado, notifique o retorno da sua execução para a engine do Workflow.

Necessita autenticação: Sim.

Situação da versão: Atual.

Versão: 1.

Requisição:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://services.senior.com.br">
   <soapenv:Header/>
   <soapenv:Body>
      <ser:responseProcess>
         <token>Long</token>
         <user>String</user>
         <pass>String</pass>
         <encrypted>Int</encrypted>
         <parameters>String</parameters>
      </ser:responseProcess>
   </soapenv:Body>
</soapenv:Envelope>

Parâmetros da requisição:

Nome Preenchimento Tipo Descrição
token Obrigatório Long Identificador que trafega entre os participantes da execução do processo. É utilizado para identificar pontos específicos da instância do processo.
user Obrigatório String Nome do usuário para autenticação.
pass Obrigatório String Senha do usuário para autenticação.
encrypted Obrigatório Integer Campo utilizado para encriptação de senha. Pode ser: 0 (Sem encriptação) e 1 (encriptado). Quando a chamada for realizada por um sistema não Senior, sempre deve ser informado parâmetro zero (0), pois este sistema não terá como encriptar a senha no padrão Senior.
parameters Obrigatório String Variáveis necessárias para responder um processo. Deve ser informado em formato XML ISO-8859-1.

Resposta:

Observação

Envelope SOAP de resposta de requisições síncronas.

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
   <soapenv:Body>
      <ns2:responseProcess xmlns:ns2=_"http://services.senior.com.br">
         <return>OK</return>
      </ns2:responseProcess>
   </soapenv:Body>
</soapenv:Envelope>

Na execução do web service é disponibilizado um retorno, que pode ser uma das seguintes situações:

  1. Sucesso: caso a requisição da notificação do processo for adicionada com sucesso à fila de execução, o retorno é OK;

    Nota

    Quando o retorno for OK, significa que a requisição do web service foi colocada na fila para execução e que será tratada em breve.

  1. Erros contornáveis:
    1. Caso não seja possível autenticar, a notificação dos retornos dos processos é abortada e é apresentada uma mensagem conforme situação do erro:
      1. Duração de conta: data de expiração definida para a conta do usuário foi ultrapassada;
      1. Autenticação: nome do usuário/senha não é informado ou é inválido;
      2. Bloqueio de conta: conta do usuário será bloqueada.
    2. Caso o valor do Token não for encontrado, ou seja, um valor inválido, uma mensagem informando a situação é apresentada;
    3. Existe um timeout de 60 segundos para cada chamada de web service. Este tempo não poderá ser alterado. Caso a solicitação de início ultrapasse, a execução é cancelada e uma mensagem informando esta situação é exibida. Esta é a única ocorrência de erro contornável que será registrada no log do servidor.
  2. Erros desconhecidos:
    1. Caso ocorra algum erro na execução, uma mensagem do erro é exibida;
    2. Quando a mensagem de retorno é vazia: "Erro desconhecido".

Exemplo de execução:

Chamada do web service até o seu retorno com um cenário de sucesso:

  1. Execute a chamada:
    • URL: http://<servidor>:<porta>/TaskManagerServices/ProcessManager
    • Operação: responseProcess
  2.  Informe os parâmetros de entrada. Os dados dos campos usuário e senha são utilizados para autenticar o usuário informado:
    • ID da instância do processo: d4360ad:137986106af:-7ff9
    • Usuário: senior
    • Senha: senior
    • Encriptação: 0 (sem encriptação)
    • Token: 123 (informação que representa o token)
    • Parâmetros de entrada:

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

      <data>

      <codigo>123456</codigo>

      <id>12345678901234567</id>

      <valor>123456.78</valor>

      <endereco>

      <log><![CDATA[NomeRua, 123 - NomeBairro]]</log>

      <cidade>NomeCidade</cidade>

      <cep>89000-000</cep>

       </endereco>

      </data>

      </xml>

  3. É notificada à engine do Workflow que a execução do Token informado pode ser continuada;
  4. O sistema retorna: OK.

Este artigo ajudou você?