O objetivo deste documento é descrever a utilização de Webservices, mostrar e explicar todos seus métodos, disponibilizar exemplos de classes que utilizam esses Webservices e mostrar exemplos de geração de stubs que são necessários para que os client’sclients possam se comunicar com o serviço.
Pré-requisitos
Para que se tenha uma compreensão completa destas informações, alguns conhecimentos são considerados pré-requisitos, entre eles:
Visão geral sobre o fluig
Visão geral sobre integração de sistemas
WebServices
Criar Stubs
Os stubs são necessários para que os client’s que clients que utilizam os métodos dos Webservices possam se comunicar com o serviço.createSimpleCardIndexWithDatasetPersisteType
Para criar um stub é necessário que o serviço do Fluig fluig esteja inicializado. Depois de iniciar o serviço, deve-se abrir o Prompt de comando e utilizar a sintaxe: wsimport -d <output_directory> <wsdl_url>, onde output_directory é o diretório onde o stubserá criado e wsdl_url é a url de acesso ao serviço. Após isso, basta apertar Enter e o resultado aparecerá conforme mostra a figura 1.
Nota
title
Observação
Foi criado um facilitador para gerar todos os stubs, basta baixar o documento Cliente Web Service.zip. Basta descompactá-lo e executar o arquivo "fluig-ws.sh", informe o nome e porta do servidor. Após executar, será gerado o "fluig-ws-client.jar". Importe o .jar para acesso ao serviço. Aquivocê encontra um exemplo (ws-soap e webservice) prático de utilização em artefatos publicados no fluig.
...
Figura 1: Exemplo de criação de stub
...
Cloak
visible
true
title
Lista de webservices
No quadro 1, é mostrado o comando necessário para No Quadro 1 (abaixo) são listados os comandos necessários para a criação de stubs de cada serviço disponível no Fluigfluig.
Para os métodos de update que recebem objetos complexos(DocumentDto, ColleagueDto, GroupDto, etc) é obrigatório passar todos os campos do objeto alterado. Os campos não informados serão substituídos por branco, nulo ou zero, dependendo do seu tipo.
Para evitar esta situação, sugerimos sempre utilizar os métodos get para recuperar o objeto, efetuar as alterações nos campos necessários e enviá-lo para o método update.
Nota
title
Observação
Identificamos em alguns objetos os
Identificação dos atributos: Os atributos de retorno dos métodos são identificados nos objetos. Caso não tenha encontrado o objeto que procura é possível fazer uma pesquisa nos datasets e assim identificar os atributos.
Image Removed
Figura 1: Consulta de Dataset.
Image Removed
Figura 2: Resultado da Consulta do Dataset Colleague.
Tratamento de exceção (try/catch): Quando o serviço utilizado não estiver disponível, não haverá retorno. Para esse tipo de caso, é aconselhável realizar o tratamento utilizando Try / Catch.
ECMAttributionMecanismService
Webservice responsável por realizar operações referentes aos mecanismos de atribuição cadastrados no Fluigfluig. Pode ser utilizado para pesquisar os mecanismos de atribuição de uma determinada empresa.
Métodos
Cloak
visible
true
title
No quadro 2, é mostrado todos os métodos disponíveis na classe AttributionMecanismService.
getAttributionMecanism
Retorna os mecanismos de atribuição da empresa.
Método:
getAttributionMecanism(String user, String password, int companyId)
Faça o download da classe AttributionMecanismServiceClientECMAttributionMecanismService.java, esta exemplifica a utilização dos principais métodos da classe AttributionMecanismService.
...
ECMBusinessPeriodService
Webservice responsável por realizar operações referentes aos expedientes cadastrados no Fluigfluig. Pode ser utilizado para pesquisar os expedientes de uma determinada empresa.
Métodos
Cloak
visible
true
title
No quadro 3, é mostrado todos os métodos disponíveis na classe BusinessPeriodService.
getBusinessPeriods
Retorna os expedientes da empresa.
Método:
getBusinessPeriods(String user, String password, int companyId)
Faça o download da classe BusinessPeriodServiceClientECMBusinessPeriodService.java, esta exemplifica a utilização dos principais métodos da classe BusinessPeriodService.
ECMCardIndexService
Webservice responsável por realizar operações referentes aos formulários cadastrados no Fluigfluig.
Métodos
Cloak
visible
true
title
No quadro 4, é mostrado todos os métodos disponíveis na classe CardIndexService.
createSimpleCardIndex
Criação simples de um formulário.
Método:
createSimpleCardIndex (String user, String password, int companyId, int parentDocumentId, String publisherId, String documentDescription, String cardDescription, AttachmentArray attachments, CardEventDtoArray customEvents)
Faça o download da classe CardIndexServiceClient.java, esta exemplifica a utilização dos principais métodos da classe CardIndexService.
ECMCardService
Webservice responsável por realizar operações referentes a formulários no Fluigfluig. Pode ser utilizado para criar, alterar, excluir e pesquisar formulários, entre outras funcionalidades.outros recursos.
Exemplos de utilização
Faça o download da classe CardServiceClient.java, esta exemplifica a utilização dos principais métodos da classe CardService, que identifica os parametros a serem passados no carddtos.
Para visualizar um exemplo de montagem do xml, clique em download.
Métodos
Cloak
visible
true
title
No quadro 5, é mostrado todos os métodos disponíveis na classe CardService.
Faça o download da classe CardServiceClient.java, esta exemplifica a utilização dos principais métodos da classe CardService.
ECMColleagueGroupService
ECMColleagueGroupService
Webservice responsável por realizar operações referentes aos Webservice responsável por realizar operações referentes aos grupos de usuários no Fluigfluig. Pode ser utilizado para relacionar um usuário a um grupo de usuários e serve também para alterar, excluir e pesquisar esses relacionamentos criados.
Métodos
Cloak
visible
true
title
No quadro 6, é mostrado todos os métodos disponíveis na classe ColleagueGroupSevice.
createColleagueGroup
Associa um usuário a um grupo.
Método:
createColleagueGroup(String username, String password, int companyId, ColleagueGroupDto[] grupo_colaborador)
Parâmetros:
username: login do usuário.
password: senha do usuário.
companyId: código da empresa;
grupo_colaborador: grupo que estará associado a um usuário.
Retorno: String.
Estrutura de retorno com sucesso
Estrutura de retorno com erro
deleteColleagueGroup
Exclui um usuário de um grupo.
Método:
deleteColleagueGroup(String username, String password, int companyId, String groupId, String colleagueId)
Parâmetros:
username: login do usuário.
password: senha do usuário.
companyId: código da empresa.
groupId: código do grupo.
colleagueId: matrícula do usuário.
Retorno: String.
Estrutura de retorno com sucesso
Estrutura de retorno com erro
getAllColleagueGroups
Retorna todos os grupos que possuem usuários relacionados.
Método:
getAllColleagueGroups(String username, String password, int companyId)
Parâmetros:
username: login do usuário.
password: senha do usuário.
companyId: código da empresa.
Retorno: ColleagueGroupDto[].
getColleagueGroup
Retorna somente um grupo que determinado usuário participa.
Método:
getColleagueGroup(String username, String password, int companyId, String groupId, String colleagueId)
Parâmetros:
username: login do usuário.
password: senha do usuário.
companyId: código da empresa.
groupId: código do grupo.
colleagueId: matrícula do usuário.
Retorno: ColleagueGroupDto[].
Atributos de Retorno:
colleagueId
companyId
groupId
getColleagueGroupsByColleagueId
Retorna os grupos que um usuário participa.
Método:
getColleagueGroupsByColleagueId(String username, String password, int companyId, String colleagueId)
Parâmetros:
username: login do usuário.
password: senha do usuário.
companyId: código da empresa.
colleagueId: matrícula do usuário.
Retorno: ColleagueGroupDto[].
Atributos de Retorno:
colleagueId
companyId
groupId
getColleagueGroupsByGroupId
Retorna os usuários que participam de um grupo de usuários.
Método:
getColleagueGroupsByGroupId(String username, String password, int companyId, String groupId)
Parâmetros:
username: login do usuário.
password: senha do usuário.
companyId: código da empresa.
groupId: código do grupo.
Retorno: ColleagueGroupDto[].
Atributos de Retorno:
colleagueId
companyId
groupId
updateColleagueGroup
Atenção
O método updateColleagueGroup foi depreciado, portanto não é recomendada a sua utilização em desenvolvimentos sobre a plataforma.
Altera a associação de um usuário a um grupo.
Método:
updateColleagueGroup(String username, String password, int companyId, ColleagueGroupDto[] grupo_colaborador)
Parâmetros:
username: login do usuário.
password: senha do usuário.
companyId: código da empresa.
grupo_colaborador: grupo de usuários que será alterado.
Retorno: String.
Estrutura de retorno com sucesso
Estrutura de retorno com erro
Quadro 6: Métodos da ColleagueGroupService.
Exemplo de utilização
Faça o download da classe ColleagueGroupServiceClient.java, esta exemplifica a utilização dos principais métodos da classe ColleagueGroupService.
ECMColleagueReplacementService
Webservice responsável por realizar operações referentes a usuários substitutos no Fluigfluig. Pode ser utilizado para criar, alterar, excluir e pesquisar usuários substitutos, entre outras funcionalidadesoutros recursos.
Métodos
Cloak
visible
true
title
No quadro 7, é mostrado todos os métodos disponíveis na classe ColleagueReplacementService.
createColleagueReplacement
Cria um substituto.
Método:
createColleagueReplacement (String username, String password, int companyId, ColleagueReplacementDtocrDto)
Parâmetros:
username: login do usuário.
password: senha do usuário.
companyId: código da empresa.
crDto: cadastro do substituto.
Retorno: String.
Estrutura de retorno com sucesso
Estrutura de retorno com erro
deleteColleagueReplacement
Exclui o cadastro de um substituto.
Método:
deleteColleagueReplacement(String username, String password, int companyId, String colleagueId, String replacementId)
Parâmetros:
username: login do usuário.
password: senha do usuário.
companyId: código da empresa.
colleagueId: matrícula do usuário origem.
replacementId: matrícula do usuário substituto.
Retorno: String.
Estrutura de retorno com sucesso
Estrutura de retorno com erro
getColleagueReplacement
Retorna um substituto de um usuário.
Método:
getColleagueReplacement(String username, String password, int companyId, String colleagueId, String replacementId)
updateColleagueReplacement (String username, String password, int companyId, ColleagueReplacementDtocrDto)
Parâmetros:
username: login do usuário.
password: senha do usuário.
companyId: código da empresa.
crDto: cadastro do usuário.
Retorno: String.
Estrutura de retorno com sucesso
Estrutura de retorno com erro
Quadro 7: Métodos da ColleagueReplacementService
Exemplo de utilização
Faça o download da classe ColleagueReplacementServiceClientECMColleagueReplacementService.java, esta exemplifica a utilização dos principais métodos da classe ColleagueReplacementService.
...
Webservice responsável por realizar operações referentes a usuários no Fluigfluig. Pode ser utilizado para criar, alterar, excluir e pesquisar usuários, entre outras funcionalidadesoutros recursos.
Nota
...
title
Atenção!
Os métodos createColleague, createColleaguewithDependencies, updateColleague e updateColleaguewithDependencies, em um dos seus parâmetros, recebe uma lista
listas os valores para os campos de senha (password) devem ser criptografados com o algoritmo de hash MD5, exceto no caso de possuir o identity configurado, neste caso a senha deverá ser passada normalmente sem a criptografia.
Utilizado o hash MD5 no e-mail contendo os dados do usuário criado, é regra de negócio o campo senha ser apresentado em branco.
Métodos
Cloak
visible
true
title
No quadro 8, é mostrado todos os métodos disponíveis na classe ColleagueService.
createColleague
Cria um usuário.
Método:
createColleague(String username, String password, int companyId, ColleagueDto[] colleagues)
Parâmetros:
username: login do usuário.
password: senha do usuário.
companyId: código da empresa.
colleagues: usuários.
Retorno: String.
Estrutura de retorno com sucesso
Estrutura de retorno com erro
createColleaguewithDependencies
Cria um usuário com grupos e papéis.
Método:
createColleaguewithDependencies(String username, String password, int companyId, ColleagueDto[] colleagues,
Faça o download da classe ColleagueServiceClient.java, esta exemplifica a utilização dos principais métodos da classe ColleagueService.
ECMCompanyService
Webservice responsável por realizar operações referentes à empresa no Fluigfluig. Pode ser utilizado para criar, alterar, excluir e pesquisar empresas, entre outras funcionalidadesoutros recursos.
Métodos
...
Cloak
visible
true
title
No quadro 9, é mostrado todos os métodos disponíveis na classe CompanyService.
Faça o download da classe CompanyServiceClient.java, esta exemplifica a utilização dos principais métodos da classe CompanyService.
ECMCustomFieldsService
Webservice responsável por interagir com os campos customizados do Fluigfluig. Pode ser utilizado para criar, alterar, excluir e pesquisar campos customizados, entre outras funcionalidadesoutros recursos.
Métodos
Cloak
visible
true
title
No quadro 10, é mostrado todos os métodos disponíveis na classe CustomFieldsService.
createCustomFields
Cria um campo customizado.
Método:
createCustomFields(String user, String password, int companyId,
CustomFieldsDto
[] customFieldsDto)
Parâmetros:
user: login do usuário.
password: senha do usuário.
companyId: código da empresa.
customFieldsDto: campo customizado que será criado.
Retorno: String, retorna OK caso os parâmetros da requisição estejam corretos.
Estrutura de retorno com sucesso
Estrutura de retorno com erro
getAllCustomField
Retorna todos os campos customizados.
Método:
getAllCustomField(String user, String password, int companyId)
removeCustomField(String user, String password, int companyId, String customFieldsId)
Parâmetros:
user: login do usuário.
password: senha do usuário.
companyId: código da empresa.
customFieldsId: código do campo customizado.
Retorno: String
.
, retorna OK caso os parâmetros da requisição estejam corretos.
Estrutura de retorno com sucesso
Estrutura de retorno com erro
removeDocumentCustomField
Exclui um campo customizado de um documento.
Método:
removeDocumentCustomField(String user, String password, int companyId, String customFieldsId, int documentId, int version)
Parâmetros:
user: login do usuário.
password: senha do usuário.
companyId: código da empresa.
customFieldsId: código do campo customizado.
documentId: número do documento.
version: versão do documento.
Retorno:
Retorno:String, retorna OK caso os parâmetros da requisição estejam corretos.
.
Estrutura de retorno com sucesso
Estrutura de retorno com erro
setDocumentCustomFields
Cria ou altera um campo customizado em um documento.
Método:
setDocumentCustomFields(String user, String password, int companyId,
DocumentCustomFieldsDto
[] documentCustomFieldsDto)
Parâmetros:
user: login do usuário.
password: senha do usuário.
companyId: código da empresa.
documentCustomFieldsDto: documento com campo customizado.
Retorno: String
.
, retorna OK caso os parâmetros da requisição estejam corretos.
Estrutura de retorno com sucesso
Estrutura de retorno com erro
updateCustomFields
Altera um campo customizado.
Método:
updateCustomFields(String user, String password, int companyId,
CustomFieldsDto
[] customFieldsDto)
Parâmetros:
user: login do usuário.
password: senha do usuário.
companyId: código da empresa.
customFieldsDto: campo customizado que será alterado.
Retorno: String
.
, retorna OK caso os parâmetros da requisição estejam corretos.
Estrutura de retorno com sucesso
Estrutura de retorno com erro
Quadro 10: Métodos da CustomFieldsService
Exemplo de utilização
Faça o download da classe CustomFieldsServiceClient.java, esta exemplifica a utilização dos principais métodos da classe CustomFieldsService.
ECMDashBoardService
Webservice responsável por interagir com a central de tarefas do Fluigfluig. Pode ser utilizado para pesquisar as informações que estão disponíveis na central de tarefas.
Métodos
Cloak
visible
true
title
No quadro 11, é mostrado todos os métodos disponíveis na classe DashBoardService.
findMyDocuments
Retorna os documentos do usuário que precisam ser aprovados.
Método:
findMyDocuments(String user, String password, int companyId, String colleagueId)
findWorkflowTasks(String user, String password, int companyId, String colleagueId)
Parâmetros:
user: login do usuário.
password: senha do usuário.
companyId: código da empresa.
colleagueId: matrícula do usuário.
Atenção!
O colleagueId pode ser preenchido com Pool:Role:Id ou Pool:Group:Id substituindo o Id pelo código de um papel ou de um grupo, respectivamente, para retornar as solicitações referentes a eles.
Retorna as tarefas do usuário que estão abertas, paginadas.
Método:
findWorkflowTasksOnDemand(String user, String password, int companyId, String colleagueId, int limit, int lastRowId)
Parâmetros:
user: login do usuário.
password: senha do usuário.
companyId: código da empresa.
colleagueId: matrícula do usuário.
limit: número de registros a serem retornados.
lastRowId: última linha retornada.
Atenção!
O colleagueId pode ser preenchido com Pool:Role:Id ou Pool:Group:Id substituindo o Id pelo código de um papel ou de um grupo, respectivamente, para retornar as solicitações referentes a eles.
Método: findExpiredWorkflowTasks(String user, String password, int companyId, String colleagueId)
Parâmetros:
user: login do usuário.
password: senha do usuário.
companyId: código da empresa.
colleagueId: matrícula do usuário.
Atenção!
O colleagueId pode ser preenchido com Pool:Role:Id ou Pool:Group:Id substituindo o Id pelo código de um papel ou de um grupo, respectivamente, para retornar as solicitações referentes a eles.
Retorna a quantidade de tarefas atrasadas, no prazo e sem prazo de um usuário.
Método:
fillStatusTask(String user, String password, int companyId, String colleagueId)
Parâmetros:
user: login do usuário.
password: senha do usuário.
companyId: código da empresa.
colleagueId: matrícula do usuário.
Atenção!
O colleagueId pode ser preenchido com Pool:Role:Id ou Pool:Group:Id substituindo o Id pelo código de um papel ou de um grupo, respectivamente, para retornar as solicitações referentes a eles.
Retorno: List de int[], com a quantidade de tarefas atrasadas.
fillChronoTasks
Retorna a quantidade de tarefas com prazo de conclusão que foram
atribuidas
atribuídas ao usuário e não foram finalizadas.
Método:
fillChronoTasks(String user, String password, int companyId, String colleagueId, int yearIni, int yearFin, int mounthIni, int mounthFin, int dayIni, int dayFin, int kindTask)
Parâmetros:
user: login do usuário.
password: senha do usuário.
companyId: código da empresa.
colleagueId: matrícula do usuário.
yearIni: ano inicial.
yearFin: ano final.
mounthIni: mês inicial.
mounthFin: mês final.
dayIni: dia inicial.
dayFin: dia final.
kindTask: tipo da tarefa.
Atenção!
O colleagueId pode ser preenchido com Pool:Role:Id ou Pool:Group:Id substituindo o Id pelo código de um papel ou de um grupo, respectivamente, para retornar as solicitações referentes a eles.
Retorno: : Lista de int[], com a quantidade de tarefas com prazo de conclusão atribuída ao usuário.
fillTypeTasks
Retorna os tipos de tarefas que o usuário possui.
Método:
fillTypeTasks(String user, String password, int companyId, String colleagueId)
O colleagueId pode ser preenchido com Pool:Role:Id ou Pool:Group:Id substituindo o Id pelo código de um papel ou de um grupo, respectivamente, para retornar as solicitações referentes a eles.
Quadro 11: Métodos da DashBoardServiceECMDashBoardService
Exemplo de utilização
Faça o download da classe DashBoardClientECMDashBoardService.java, esta exemplifica a utilização dos principais métodos da classe DashBoardServiceECMDashBoardService.
ECMDataServiceService
Webservice responsável por interagir com os serviços externos do Fluigfluig. Pode ser utilizado para criar, alterar, excluir e pesquisar os serviços externos existentes.
Métodos
Cloak
visible
true
title
No quadro 12, é mostrado todos os métodos disponíveis na classe DataServiceService.
Faça o download da classe DatasetServiceClient.java, esta exemplifica a utilização dos principais métodos da classe DatasetService.
ECMDocumentService
Webservice responsável por realizar operações referentes a documentos do Fluigfluig. Pode ser utilizado para criar, alterar, excluir e procurar documentos, entre outras funcionalidades. outros recursos.
Dica
title
Dica!
Para transferir arquivos para a pasta de upload é recomendado a utilização do protocolo FTP. Para mais detalhes sobre o procedimento acesse a documentação Utilizando o protocolo FTP.
Não recomendamos passar via webservice arquivos convertidos em base 64 na tag <filecontent> pois existe uma limitação de quantidade da String. Indicamos a utilização em arquivos pequenos de no máximo 5mb
Informações
Faça download do exemplo contido em nosso repositório utilizando o arquivo soap-xml-document-service.
Métodos
Cloak
visible
true
title
No quadro 14, é mostrado todos os métodos disponíveis na classe DocumentService.
approveDocument
Aprova ou reprova documento pendente de aprovação.
Metodo:
approveDocument(int companyId, String userId, String password, int documentId, int version, String approverId, boolean approved, String observation)
Parâmetros:
user: código do usuário de integração.
password: senha do usuário de integração.
companyId: código da empresa.
documentId: código do documento a ser aprovado.
version: versão do documento a ser aprovado.
approverId: código do aprovador
approved: true se aprova o documento e false caso o documento sera reprovado.
o tipo da segurança dos grupos na permissão e na restrição. Existem duas opções que são representadas por um inteiro:
0 - TODOS os usuários dos Grupos.
1 - SOMENTE usuários comuns dos grupos.
Método:
updateGroupSecurityType(String user, String password, int companyId, int documentId, int version, int permissionType, int restrictionType, String colleagueId)
Parâmetros:
user: código do usuário de integração.
password: senha do usuário de integração.
companyId: código da empresa.
documentId: código do documento.
version: versão do documento.
permissionType: tipo da permissão (0 - TODOS os usuários dos Grupos / 1 - SOMENTE usuários comuns dos grupos)
restrictionType: tipo da restrição (0 - TODOS os usuários dos Grupos / 1 - SOMENTE usuários comuns dos grupos)
Faça o download da classe DocumentServiceClient.java, esta exemplifica a utilização dos principais métodos da classe DocumentService.
...
Informações
title
Integrações
Para os métodos de criação de documento (createDocument, createSimpleDocument, etc...) pode-se utilizar um usuário para autenticação e outro para publicação, pois pode ser necessário validar a permissão de outro usuário no momento de criar o documento no Fluigfluig.
Neste caso, quando o arquivo a ser publicado não é enviado na requisição (campo filecontent do parâmetro Attachment), ele poderá ser obtido na pasta de upload do usuário publicador, ou do usuário utilizado para autenticar no Fluig fluig via WS. Para isso, o documento deve estar na pasta de upload do usuário em questão, o que pode ser feito via FTP. Isso pode ser útil em integrações que utilizam o mesmo usuário (integrador) para autenticar no FTP e nos serviços.
ECMFavoritesService
Webservice responsável por interagir com os documentos e processos favoritos do Fluigfluig. Pode ser utilizado para pesquisar os documentos e processos favoritos de cada usuário.
Métodos
Cloak
visible
true
title
No quadro 15, é mostrado todos os métodos disponíveis na classe FavoritesService.
addDocumentToFavorites
Adiciona um documento aos favoritos do usuário informado.
Método:
addDocumentToFavorites(String username, String password, int companyId, int nrDocument, int nrVersao, String colleagueId)
Parâmetros:
username: login do usuário.
password: senha do usuário.
companyId: código da empresa.
nrDocument: número do documento
nrVersao: versão do documento
colleagueId : matrícula do usuário.
Retorno: void.
addProcessToFavorites
Adiciona um processo aos favoritos do usuário informado.
Método:
addProcessToFavorites(String username, String password, int companyId,String processId, String colleagueId)
Parâmetros:
username: login do usuário.
password: senha do usuário.
companyId: código da empresa.
processId: código do processo
colleagueId : matrícula do usuário.
Retorno: void.
findFavorites
Retorna os documentos favoritos do usuário.
Método:
findFavorites(String user, String password, int companyId, String colleagueId)
isFavoriteDocument(String username, String password, int companyId, int nrDocument, String colleagueId)
Parâmetros:
username: login do usuário de integração.
password: senha do usuário.
companyId: código da empresa.
nrDocument: código do documento.
colleagueId: matricula do usuário.
Retorno: Boolean, documento favoritado.
removeFavoriteDocument
Remove um documento dos favoritos do usuário informado.
Método:
removeFavoriteDocument (String username, String password, int companyId, int nrDocument, String colleagueId)
Parâmetros:
username: login do usuário.
password: senha do usuário.
companyId: código da empresa.
nrDocument: número do documento
colleagueId : matrícula do usuário.
Retorno: void.
removeFavoriteProcess
Remove um processo dos favoritos do usuário informado.
Método:
addProcessToFavorites(String username, String password, int companyId,String processId, String colleagueId)
Parâmetros:
username: login do usuário.
password: senha do usuário.
companyId: código da empresa.
processId: código do processo.
colleagueId : matrícula do usuário.
Retorno: void.
Quadro 15: Métodos da FavoritesService
Exemplo de utilização
Faça o download da classe FavoritesServiceClientECMFavoritesService.java, esta exemplifica a utilização dos principais métodos da classe FavoritesService.
ECMFolderService
Webservice responsável por realizar operações referentes a pastas no Fluigfluig. Pode ser utilizado para criar, alterar, excluir e pesquisar pastas, entre outras funcionalidadesoutros recursos.
Métodos
Cloak
visible
true
title
No quadro 16, é mostrado todos os métodos disponíveis na classe FolderService.
Faça o download da classe FolderServiceClient.java, esta exemplifica a utilização dos principais métodos da classe FolderService.
ECMGlobalParamService
Webservice responsável por interagir com as configurações dos parâmetros gerais do Fluigfluig. Pode ser utilizado para criar, alterar e pesquisar os parâmetros gerais.
Métodos
Cloak
visible
true
title
No quadro 17, é mostrado todos os métodos disponíveis na classe GlobalParamService.
createGlobalParam
Cria parâmetros gerais para uma empresa.
Método:
createGlobalParam(String username, String password, int companyId, GlobalParamDto[] global)
Parâmetros:
username: login do usuário.
password: senha do usuário.
companyId: código da empresa.
global: parâmetros gerais da empresa.
Retorno: String.
getGlobalParam
Retorna os parâmetros gerais de uma empresa.
Método:
getGlobalParam(String username, String password, int companyId)
Parâmetros:
username: login do usuário.
password: senha do usuário.
companyId: código da empresa.
Retorno: GlobalParamDto[].
getVolumes
Retorna os volumes da empresa.
Método:
getVolumes(String user, String password, int companyId)
dbDriver: driver do banco de dados (MySql- com.mysql.jdbc.Driver. SQLServer - net.sourceforge.jtds.jdbc.Driver. Oracle -oracle.jdbc.driver.OracleDriver)
dbUser: username banco de dados.
dbPassword: password banco de dados.
dbServer: servidor de conexão do banco de dados.
dbPort: porta servidor banco de dados.
dbScheme: database.
dbInstance: instância do banco, utilizada para SQLServer, caso não seja o caso passar em branco ("").
mailServer: nome do servidor SMTP.
emailSender: e-mail do remetente padrão do produto.
emailPort: porta do servidor SMTP.
emailDefaultSender:
emailUser: usuário de email, somente se o servidor necessitar de autenticação.
emailPassword: password do email, somente se o servidor necessitar de autenticação.
emailTLS: servidor utilizará criptografia no envio de email (true/false)
paramsRMTPTPort: porta utilizada pelo Flex.
lsType: tipo de licença utilizada, LM/LS.
paramsLSHost: servidor de licenças.
paramsLSPort: porta servidor de licenças.
paramsOpenOfficeDir: diretório de instalação do OpenOffice
paramsOpenOfficePorts: porta utilizado pelo OpenOffice
portsSetName:
porta
portas utilizadas pelo sistema (ports-default, ports-01, ports-02)
Retorno: String.
Atenção
Método depreciado e não mais utilizável no
Fluig
fluig.
updateGlobalParam
Altera parâmetros gerais de uma empresa.
Método:
updateGlobalParam(String username, String password, int companyId, GlobalParamDto[] global)
Parâmetros:
username: login do usuário.
password: senha do usuário.
companyId: código da empresa.
global: parâmetros gerais da empresa.
Retorno: String.
Quadro 17: Métodos da GlobalParamService.
Exemplo de utilização
Faça o download da classe GlobalParamServiceClient.java, esta exemplifica a utilização dos principais métodos da classe GlobalParamService.
ECMGroupService
Webservice responsável por realizar operações referentes a grupos no Fluigfluig. Pode ser utilizado para criar, alterar, excluir e procurar grupos, entre outras funcionalidadesoutros recursos.
Métodos
Cloak
visible
true
title
No quadro 18, é mostrado todos os métodos disponíveis na classe GroupService.
createGroup
Cria um grupo no
Fluig
fluig.
Método:
createGroup(String username, String password, int companyId, GroupDto[] grupos)
Parâmetros:
username: login do usuário.
password: senha do usuário.
companyId: código da empresa.
grupos: grupo que será criado.
Retorno: String.
Estrutura de retorno com sucesso
Estrutura de retorno com erro
deleteGroup
Exclui um grupo do
Fluig
fluig.
Método:
deleteGroup(String username, String password, int companyId, String groupId)
Parâmetros:
username: login do usuário.
password: senha do usuário.
companyId: código da empresa.
GroupId: código do grupo.
Retorno: String.
Estrutura de retorno com sucesso
Estrutura de retorno com erro
getGroup
Retorna um grupo cadastrado no
Fluig
fluig.
Método:
getGroups(String username, String password, int companyId, String groupId)
Parâmetros:
username: login do usuário.
password: senha do usuário.
companyId: código da empresa.
groupId: código do grupo.
Retorno: GroupDto[].
Atributos de Retorno:
companyId
groupDescription
groupId
getGroups
Retorna todos os grupos cadastrados no
Fluig
fluig.
Método:
getGroups(String username, String password, int companyId)
Parâmetros:
username: login do usuário.
password: senha do usuário.
companyId: código da empresa.
Retorno: GroupDto[].
Atributos de Retorno:
companyId
groupDescription
groupId
getGroupsByDescription
Retorna um grupo pela descrição.
Método:
getGroupsByDescription(String username, String password, int companyId, String desc)
Parâmetros:
username: login do usuário.
password: senha do usuário.
companyId: código da empresa.
desc: descrição do grupo.
Retorno: GroupDto[].
Atributos de Retorno:
companyId
groupDescription
groupId
getOcurrenceByKey
Retorna se existe configuração de segurança para atribuição e valor da atribuição.
Método:
getOcurrenceByKey(String username, String password, int companyId, int pIdiAtribuic, String pDesValAtribuic)
Parâmetros:
username: login do usuário.
password: senha do usuário.
companyId: código da empresa.
pIdiAtribuic: código da atribuição.
pDesValAtribuic: valor da atribuição.
Retorno: boolean.
updateGroup
Altera um grupo no
Fluig
fluig.
Método:
updateGroup(String username, String password, int companyId, GroupDto[] grupos)
Parâmetros:
username: login do usuário.
password: senha do usuário.
companyId: código da empresa.
grupos: grupo que será alterado.
Retorno: String.
Estrutura de retorno com sucesso
Estrutura de retorno com erro
Quadro 18: Métodos da GroupService.
Exemplo de utilização
Faça o download da classe GroupServiceClient.java, esta exemplifica a utilização dos principais métodos da classe GroupService.
ECMOutstandingService
Webservice responsável por interagir com as transferências de pendências do Fluigfluig. Pode ser utilizado para transferir pendências de um usuário para outro usuário.
Métodos
Cloak
visible
true
title
No quadro 19, é mostrado todos os métodos disponíveis na classe OutstandingService.
transfer
Transfere pendências de um usuário para outro usuário.
colleagueIdFrom: matrícula do usuário origem (suas pendências serão tranferidas para o usuário destino).
colleagueIdTo: matrícula do usuário destino (receberá as pendências do usuário origem).
parameters: array de pendências que serão transferidas para o usuário destino.
Retorno: String.
Estrutura de retorno com sucesso
Estrutura de retorno com erro
Quadro 19: Métodos da OutstandingService.
...
Faça o download da classe OutstandingServiceClient.java, esta exemplifica a utilização dos principais métodos da classe OutstandingService.
ECMReportService
Webservice responsável por realizar operações referentes a relatórios no Fluigfluig. Pode ser utilizado para criar, alterar, excluir e procurar relatórios, entre outras funcionalidadesoutros recursos.
Métodos
Cloak
visible
true
title
No quadro 20, é mostrado todos os métodos disponíveis na classe ReportService.
createSimpleReport
Cria um relatório de maneira simplificada no
Fluig
fluig.
Método:
createSimpleReport(String username, String password, int companyId, int parentDocId, String reportDescription, Attachment[] attachments)
Faça o download da classe ReportServiceClient.java, esta exemplifica a utilização dos principais métodos da classe ReportService.
ECMSearchDocumentService
Webservice responsável por realizar operações referentes às buscas no Fluigfluig. Pode ser utilizado para buscar documentos utilizando a busca simples e avançada.
Métodos
Cloak
visible
true
title
No quadro 21, é mostrado todos os métodos disponíveis na classe SearchDocumentService.
advancedSearchDocuments
Utiliza busca avançada.
Método:
advancedSearchDocuments(String user, String password, int companyId, String colleagueId, String content, boolean findAllDocumentTypes, boolean findFolders, boolean findDocuments, boolean findCardIndex, boolean findCards, boolean findExternalDocument, int documentParentId, Date startDate, Date finalDate)
Parâmetros:
user: login do usuário.
password: senha do usuário.
companyId: código da empresa.
colleagueId: matrícula do usuário.
content: conteúdo da busca.
findAllDocumentTypes: indica se deve buscar todos os tipos de documentos.
findFolders: indica se deve buscar pastas.
findDocuments: indica se deve buscar documentos.
findCardIndex: indica se deve buscar formulários.
findCards: indica se deve buscar registros de formulários.
findExternalDocument: indica se deve buscar documentos externos.
Utiliza busca avançada através das opções de metadados e campos customizados.
Método:
advancedSearchDocuments(String user, String password, int companyId, String colleagueId, String content, SearchFields[] metadata, SearchFields[] customfields, boolean findAllDocumentTypes, boolean findFolders, boolean findDocuments, boolean findCardIndex, boolean findCards, boolean findExternalDocument, int documentParentId, Date startDate, Date finalDate)
Parâmetros:
user: login do usuário.
password: senha do usuário.
companyId: código da empresa.
colleagueId: matrícula do usuário.
content: conteúdo da busca.
metadata: informações para busca a partir de metadados do arquivo, como publicador (usando o fieldName publisher), autor (author), descrição (description), descrição da versão/revisão (versionDescription), comentários (additionalComments), tags (tags), data de criação (createDate) e data da última alteração (lastUpdateDate).
customfields: informações para busca a partir de metadados de campos customizados, informando o código do campo customizado como fieldName e valor a ser utilizado como filtro.
findAllDocumentTypes: indica se deve buscar todos os tipos de documentos.
findFolders: indica se deve buscar pastas.
findDocuments: indica se deve buscar documentos.
findCardIndex: indica se deve buscar formulários.
findCards: indica se deve buscar registros de formulários.
findExternalDocument: indica se deve buscar documentos externos.
Faça o download da classe SearchDocumentServiceClient.java, esta exemplifica a utilização dos principais métodos da classe SearchDocumentService.
ECMSignalService
Webservice responsável por interagir com os sinais criados no Fluigfluig. Pode ser utilizado para criar, remover, enviar sinais ou consultar os sinais existentes.
Métodos
Cloak
visible
true
title
No quadro 22, é mostrado todos os métodos disponíveis na classe TokenService.
createSignal
Cria um sinal no
Fluig
fluig.
Método:
createSignal(String login, String password, int companyId, String description)
Parâmetros:
login: login do usuário.
password: senha do usuário.
companyId: código da empresa.
description: descrição do sinal.
Retorno: String.
deleteSignal
Remove um sinal criado no
Fluig
fluig.
Método:
deleteSignal(String login, String password, int companyId, int signalId)
Parâmetros:
login: login do usuário que será gerado pelo token.
password: senha do usuário.
companyId: código da empresa.
signalId: código do sinal.
Retorno: String.
fireSignal
Envia/ Dispara o sinal existente.
Método:
fireSignal (String login, String password, int companyId, int signalId)
Parâmetros:
login: login do usuário que será gerado pelo token.
password: senha do usuário.
companyId: código da empresa.
signalId: código do sinal.
Retorno
Retorno: String.
getSignals
Retorna os sinais existentes no
Fluig
fluig.
Método:
getSignals(String login, String password, int companyId)
Valida o token de segurança e retorna o login do usuário.
Método:
validateToken(String token)
Parâmetro:
token: token do usuário.
Retorno: String.
Quadro 23: Métodos da TokenService.
Exemplo de utilização
Faça o download da classe TokenServiceClient.java, esta exemplifica a utilização dos principais métodos da classe TokenService.
ECMWorkflowEngineService
Webservice responsável por realizar operações referentes a workflow no Fluigfluig. Pode ser utilizado para movimentar solicitações, entre outras funcionalidadesoutros recursos.
Métodos
Cloak
visible
true
title
No quadro 23, é mostrado todos os métodos disponíveis na classe WorkflowEngineService.
calculateDeadLineHours
Calcula um prazo a partir de uma data com base no expediente e feriados cadastrados no produto passando o prazo em horas.
Método:
calculateDeadLineHours(String username, String password, int companyId, String userId, String data, int segundos, int prazo, String periodId)
Parâmetros:
username - Usuário de Integração
password - Senha de Integração
companyId - Código da empresa
userId - Matrícula do usuário
data - data (Tipo String no formato "yyyy-MM-dd").
segundos - Quantidade de segundos após a meia noite
prazo - Prazo que será aplicado em horas (Variável int).
periodId - Código de Expediente
Retorno: Objeto DeadLineDtoque contem variáveis com a data e hora.
Estrutura de retorno com sucesso
Estrutura de retorno com erro
calculateDeadLineTime
Calcula um prazo a partir de uma data com base no expediente e feriados cadastrados no produto passando o prazo em minutos.
Método:
calculateDeadLineHours(String username, String password, int companyId, String userId, String data, int segundos, int prazo, String periodId)
Parâmetros:
username - Usuário de Integração
password - Senha de Integração
companyId - Código da empresa
userId - Matrícula do usuário
data - data (Tipo String no formato "yyyy-MM-dd").
segundos - Quantidade de segundos após a meia noite
prazo - Prazo que será aplicado em minutos (Variável int).
periodId - Código de Expediente
Retorno: Objeto DeadLineDtoque contem variáveis com a data e hora.
Estrutura de retorno com sucesso
Estrutura de retorno com erro
cancelInstance
Cancela uma solicitação.
Método:
cancelInstance(String user, String password, int companyId, int processInstanceId, String userId, String cancelText)
Parâmetros:
user: login do usuário.
password: senha do usuário.
companyId: código da empresa.
processInstanceId: número da solicitação.
userId: mátricula do usuário.
cancelText: comentários do cancelamento.
Retorno: String.
Estrutura de retorno com sucesso
Estrutura de retorno com erro
cancelInstanceByReplacement
Cancela uma solicitação utilizando usuário substituto.
Método:
cancelInstanceByReplacement(String user, String password, int companyId, int processInstanceId, String userId, String cancelText, String replacementId)
Parâmetros:
user: login do usuário.
password: senha do usuário.
companyId: código da empresa.
processInstanceId: número da solicitação.
userId: mátricula do usuário.
cancelText: comentários do cancelamento.
replacementId: matrícula do usuário substituto.
Retorno: String.
Estrutura de retorno com sucesso
Estrutura de retorno com erro
createWorkFlowProcessVersion
Cria nova versão do processo workflow.
Método:
createWorkFlowProcessVersion(String user, String password, int companyId, int processId)
Parâmetros:
user: login do usuário.
password: senha do usuário.
companyId: código da empresa.
processId: número da solicitação.
Retorno: String.
Estrutura de retorno com sucesso
Estrutura de retorno com erro
exportProcess
Retorna o processo selecionado em uma String.
Método:
exportProcess (String username, String password, int companyId, String processId)
Parâmetros:
username - Usuário de Integração
password - Senha de Integração
companyId - Código da empresa
processId - Código do processo
Retorno: String que contém a definição do processo.
exportProcessInZipFormat
Retorna o processo selecionado no formato zip.
Método:
exportProcessInZipFormat(String username, String password, int companyId, String processId)
Parâmetros:
username - Usuário de Integração
password - Senha de Integração
companyId - Código da empresa
processId - Código do processo
Retorno: byte[] que contém a definição do processo.
getActualThread
Retorna a sequência da thread de uma solicitação.
Método:
getActualThread(String user, String password, int companyId, int processInstanceId, int stateSequence)
Parâmetros:
user: login do usuário.
password: senha do usuário.
companyId: código da empresa.
userId: matrícula do usuário.
stateSequence: sequência do estado.
Retorno: int.
getAllActiveStates
Retorna o número da atividade em que uma solicitação esta.
Método:
getAllActiveStates(String user, String password, int companyId, String userId, int processInstanceId)
Parâmetros:
user: login do usuário.
password: senha do usuário.
companyId: código da empresa.
userId: matrícula do usuário.
processInstanceId: número da solicitação.
Retorno: Integer[].
getAllProcessAvailableToExport
Retorna uma lista de processos disponíveis para serem exportados.
Método:
getAllProcessAvailableToExport (String username, String password, int companyId)
Retorna o número da próxima atividade de uma solicitação.
Método:
getAvailableStates(String user, String password, int companyId, String processId, int processInstanceId, int threadSequence)
Parâmetros:
user: login do usuário.
password: senha do usuário.
companyId: código da empresa.
processId: código do processo.
processInstanceId: número da solicitação.
threadSequence: Indica se existe atividade paralela no processo. Se não existir o valor é 0 (zero), caso exista, este valor pode ser de 1 a infinito dependendo da quantidade de atividade paralelas existentes no processo.
Retorno: Integer[].
getAvailableStatesDetail
Retorna detalhes das atividades disponíveis para seleção...
Atenção
Caso haja necessidade de utilizar este método na primeira instância do processo, favor consultar a .
Método:
getAvailableStatesDetail(String user, String password, int companyId, String processId, int processInstanceId, int threadSequence)
Parâmetros:
user: login do usuário.
password: senha do usuário.
companyId: código da empresa.
processId: código do processo.
processInstanceId: número da solicitação.
threadSequence: Indica se existe atividade paralela no processo. Se não existir o valor é 0 (zero), caso exista, este valor pode ser de 1 a infinito dependendo da quantidade de atividade paralelas existentes no processo.
Retorna os usuários que podem executar a tarefa corrente de uma solicitação.
Método:
getAvailableUsers(String username, String password, int companyId, int processInstanceId, int state, int threadSequence)
Parâmetros:
username: login do usuário.
password: senha do usuário.
companyId: código da empresa.
processInstanceId: número da solicitação.
state: número da atividade.
threadSequence: Indica se existe atividade paralela no processo. Se não existir o valor é 0 (zero), caso exista, este valor pode ser de 1 a infinito dependendo da quantidade de atividade paralelas existentes no processo.
Retorno: String[].
getAvailableUsersOnDemand
Retorna os usuários que podem executar a tarefa corrente de uma solicitação, paginados e com busca.
Método:
getAvailableUsersOnDemand(String username, String password, int companyId, int processInstanceId, int state, int threadSequence, int limit, int initialUser, String userSearch)
Parâmetros:
username: login do usuário.
password: senha do usuário.
companyId: código da empresa.
processInstanceId: número da solicitação.
state: número da atividade.
threadSequence: Indica se existe atividade paralela no processo. Se não existir o valor é 0 (zero), caso exista, este valor pode ser de 1 a infinito dependendo da quantidade de atividade paralelas existentes no processo.
Retorna os usuários disponíveis na abertura de uma solicitação.
Método:
getAvailableUsersStart (String username, String password, int companyId, String processId, int state, int threadSequence)
Parâmetros:
username: login do usuário.
password: senha do usuário.
companyId: código da empresa.
processId: código do processo.
state: número da atividade.
threadSequence: Indica se existe atividade paralela no processo. Se não existir o valor é 0 (zero), caso exista, este valor pode ser de 1 a infinito dependendo da quantidade de atividade paralelas existentes no processo.
Retorno: String[].
getAvailableUsersStartOnDemand
Retorna os usuários disponíveis na abertura de uma solicitação, paginados e com busca.
Método:
getAvailableUsersStart (String username, String password, int companyId, String processId, int state, int threadSequence, int limit, int initialUser, String userSearch)
Parâmetros:
username: login do usuário.
password: senha do usuário.
companyId: código da empresa.
processId: código do processo.
state: número da atividade.
threadSequence: Indica se existe atividade paralela no processo. Se não existir o valor é 0 (zero), caso exista, este valor pode ser de 1 a infinito dependendo da quantidade de atividade paralelas existentes no processo.
newProcess: indica se deve ser criado um processo ou atualizado o existente.
overWrite: indica
se as atividade
se as atividades e fluxos do processo
existente dever
existentes devem ser sobrescritas.
colleagueId : matrícula do usuário.
parentDocId: número do formulário.
docDescription: descrição.
cardDescription: nome.
datasetName: nome do dataset.
cardAttachs: arquivo anexo.
customEvents: eventos.
update: caso verdadeiro ('true'), informa que será uma atualização.
Retorno: String.
Estrutura de retorno com sucesso
Estrutura de retorno com erro
releaseProcess
Libera processos workflow.
Método:
releaseProcess(String user, String password, int companyId, String processId)
Parâmetros:
user: login do usuário.
password: senha do usuário.
companyId: código da empresa.
processId: código do processo.
Retorno: String.
Estrutura de retorno com sucesso
Estrutura de retorno com erro
saveAndSendTask
Movimenta solicitação para próxima atividade.
Caso possua os campos preenchidos na solicitação e os valores não forem repassados no cardData ou estiverem vazios, a solicitação também ficará com o valor vazio, onde os valores preenchidos serão apagados caso não seja passado o valor.
Método:
saveAndSendTask(String user, String password, int companyId, int processInstanceId, int choosedState, String[] colleagueIds, String comments, String userId, boolean completeTask, ProcessAttachmentDto[]attachments, String[][] cardData, ProcessTaskAppointmentDto[]appointment, boolean managerMode, int threadSequence)
Parâmetros:
user: login do usuário.
password: senha do usuário.
companyId: código da empresa.
processInstanceId: número da solicitação.
choosedState: número da atividade.
colleagueIds: usuário que receberá a tarefa.
comments: comentários.
userId: matrícula do usuário que vai executar a tarefa.
completeTask: indica se deve completar a tarefa (true) ou somente salvar (false).
managerMode: indica se usuário esta executando a tarefa como gestor do processo.
threadSequence: Indica se existe atividade paralela no processo. Se não existir o valor é 0 (zero), caso exista, este valor pode ser de 1 a infinito dependendo da quantidade de atividade paralelas existentes no processo.
Retorno: String[][].
Estrutura de retorno com sucesso
Estrutura de retorno com erro
saveAndSendTaskByReplacement
Movimenta solicitação para próxima atividade utilizando usuário substituto.
Método:
Caso possua os campos preenchidos na solicitação e os valores não forem repassados no cardData ou estiverem vazios, a solicitação também ficará com o valor vazio, onde os valores preenchidos serão apagados caso não seja passado o valor.
Método:
saveAndSendTaskByReplacement
saveAndSendTaskByReplacement
(String user, String password, int companyId, int processInstanceId, int choosedState, String[] colleagueIds, String comments, String userId, boolean completeTask, ProcessAttachmentDto[]attachments, String[][] cardData, ProcessTaskAppointmentDto[]appointment, boolean managerMode, int threadSequence, String replacementId)
Parâmetros:
user: login do usuário.
password: senha do usuário.
companyId: código da empresa.
processInstanceId: número da solicitação.
choosedState: número da atividade.
colleagueIds: usuário que receberá a tarefa.
comments: comentários.
userId: matrícula do usuário que vai executar a tarefa.
completeTask: indica se deve completar a tarefa (true) ou somente salvar (false).
managerMode: indica se usuário esta executando a tarefa como gestor do processo.
threadSequence: Indica se existe atividade paralela no processo. Se não existir o valor é 0 (zero), caso exista, este valor pode ser de 1 a infinito dependendo da quantidade de atividade paralelas existentes no processo.
replacementId: matrícula do usuário substituto.
Retorno: String[][].
Estrutura de retorno com sucesso
Estrutura de retorno com erro
saveAndSendTaskClassic
Movimenta solicitação para próxima atividade e retorna um array de objeto com chave e valor.
Caso possua os campos preenchidos na solicitação e os valores não forem repassados no cardData ou estiverem vazios, a solicitação também ficará com o valor vazio, onde os valores preenchidos serão apagados caso não seja passado o valor.
Método:
saveAndSendTaskClassic(String user, String password, int companyId, int processInstanceId, int choosedState, String[] colleagueIds, String comments, String userId, boolean completeTask, ProcessAttachmentDto[]attachments, KeyValueDto[]cardData, ProcessTaskAppointmentDto[]appointment, boolean managerMode, int threadSequence)
Parâmetros:
user: login do usuário.
password: senha do usuário.
companyId: código da empresa.
processInstanceId: número da solicitação.
choosedState: número da atividade.
colleagueIds: usuário que receberá a tarefa.
comments: comentários.
userId: matrícula do usuário que vai executar a tarefa.
completeTask: indica se deve completar a tarefa (true) ou somente salvar (false).
managerMode: indica se usuário esta executando a tarefa como gestor do processo.
threadSequence: Indica se existe atividade paralela no processo. Se não existir o valor é 0 (zero)
, caso exista, este valor pode ser de 1 a infinito dependendo da quantidade de atividade paralelas existentes no processo.
, caso exista, este valor pode ser de 1 a infinito dependendo da quantidade de atividade paralelas existentes no processo.
Estrutura mínima para movimentação com anexo
xmlExemplo usando SoapUI
O exemplo de movimentação com anexo foi criado considerando do uso da pasta de upload do volume. Sendo assim, o arquivo para transferência deverá estar contido na pasta de upload do usuário.
Considerando o exemplo acima, o arquivo pdf_para_teste.pdf deverá estar contido na pasta do usuário, que fica localizada dentro do diretório upload no volume do fluig.
Caso não queira utilizar este tipo de transferência para anexo e sim a transferência via Bytes, devem ser adicionadas à estrutura, abaixo da tag <fileName>, as seguintes tags:
<fileSize> = para indicar o tamanho do arquivo
<filecontent> = que deverá conter os bytes referentes ao arquivo
Adicionando estas tags será ignorada a busca no diretório de upload do usuário, sendo considerado o arquivo contido na tag <filecontent>.
Seleciona usuário(s) e avança atividade automática.
Método:
setAutomaticDecisionClassic(String user, String password, int companyId, int processInstanceId, int iTaskAutom, int iTask, int condition, String[] colleagueIds, String comments, String userId, boolean managerMode, int threadSequence)
Parâmetros:
user: login do usuário.
password: senha do usuário.
companyId: código da empresa.
processInstanceId: número da solicitação.
iTaskAutom: número da atividade automática.
iTask:
numero
número da atividade atual.
condition:
numero
número da condição da atividade automática.
colleagueIds: usuário que receberá a tarefa.
comments: comentários.
userId: matrícula do usuário que vai executar a tarefa.
managerMode: indica se usuário esta executando a tarefa como gestor do processo.
threadSequence: Indica se existe atividade paralela no processo. Se não existir o valor é 0 (zero), caso exista, este valor pode ser de 1 a infinito dependendo da quantidade de atividade paralelas existentes no processo.
setDueDate(String user, String password, int companyId, int processInstanceId, String userId, int threadSequence, String newDueDate, int timeInSeconds)
Parâmetros:
user: login do usuário.
password: senha do usuário.
companyId: código da empresa.
processInstanceId: número da solicitação.
userId: matrícula do usuário. Quando é Para um Grupo ou Para um Papel deve ser passado da seguinte forma: Papel: "Pool:Role:CodigoDoPapel"; Grupo: "Pool:Group:CodigoDoGrupo".
threadSequence: Indica se existe atividade paralela no processo. Se não existir o valor é 0 (zero), caso exista, este valor pode ser de 1 a infinito dependendo da quantidade de atividade paralelas existentes no processo.
newDueDate: nova data de prazo da tarefa. Exemplo: "2014-08-20".
timeInSeconds: quantidade de segundos após a meia noite. Exemplo: "32000".
Retorno: String.
Estrutura de retorno com sucesso
Estrutura de retorno com erro
setTasksComments
Altera os comentários da tarefa.
Método:
setTasksComments(String user, String password, int companyId, int processInstanceId, String userId, int threadSequence, String comments)
Parâmetros:
user: login do usuário.
password: senha do usuário.
companyId: código da empresa.
processInstanceId: número da solicitação.
userId: mátricula do usuário.
threadSequence: Indica se existe atividade paralela no processo. Se não existir o valor é 0 (zero), caso exista, este valor pode ser de 1 a infinito dependendo da quantidade de atividade paralelas existentes no processo.
colleagueIds: usuário que receberá a tarefa. Caso a solicitação esteja sendo atribuída "Para um Papel" ou "Para um Grupo", o parâmetro colleagueIds deve ser informado da seguinte forma: Papel: Pool:Role:Nome_do_papel Grupo: Pool:Group:Nome_do_grupo
colleagueIds: usuário que receberá a tarefa.
comments: comentários.
userId: matrícula do usuário que vai iniciar a solicitação.
completeTask: indica se deve completar a tarefa (true) ou somente salvar (false).
takeProcessTask(String user, String password, int companyId, String userId, int processInstanceId, int threadSequence)
Parâmetros:
user: login do usuário.
password: senha do usuário.
companyId: código da empresa.
userId: matrícula do usuário.
processInstanceId: número da solicitação.
threadSequence: Indica se existe atividade paralela no processo. Se não existir o valor é 0 (zero), caso exista, este valor pode ser de 1 a infinito dependendo da quantidade de atividade paralelas existentes no processo.
Retorno: String.
Estrutura de retorno com sucesso
Estrutura de retorno com erro
takeProcessTaskByReplacement
Assume uma tarefa utilizando usuário substituto.
Método:
takeProcessTask(String user, String password, int companyId, String userId, int processInstanceId, int threadSequence, String replacementId)
Parâmetros:
user: login do usuário.
password: senha do usuário.
companyId: código da empresa.
userId: matrícula do usuário.
processInstanceId: número da solicitação.
threadSequence: Indica se existe atividade paralela no processo. Se não existir o valor é 0 (zero), caso exista, este valor pode ser de 1 a infinito dependendo da quantidade de atividade paralelas existentes no processo.
replacementId: matrícula do usuário substituto.
Retorno: String.
Estrutura de retorno com sucesso
Estrutura de retorno com erro
updateWorkflowAttachment
Atualiza um documento do tipo 7.
Retorna uma string contendo a descrição de sucesso ou falha da operação.
Método:
updateWorkflowAttachment(String username, String password, int companyId, int processInstanceId, String usuario, DocumentDto[] docdtos, Attachment[] attach)
Parâmetros:
username: login do usuário.
password: senha do usuário.
companyId: código da empresa.
processInstanceId: número da solicitação workflow.
usuario: usuário responsável pela edição do documento.
docDtos
documents: documento ou documentos que serão publicados.
attachs
attachments: arquivo(s) anexado(s) na publicação.
Retorno: String.
Estrutura de retorno com sucesso
Estrutura de retorno com erro
Quadro 24: Métodos da WorkflowEngineService
Exemplo de utilização
Faça o download da classe WorkflowEngineServiceClientECMWorkflowEngineService.java, esta exemplifica a utilização dos principais métodos da classe WorkflowEngineService.
ECMWorkflowRoleService
Webservice responsável por realizar operações referentes a papéis no Fluigfluig. Pode ser utilizado para criar, alterar, excluir e procurar papéis, entre outras funcionalidadesoutros recursos.
Métodos
Cloak
visible
true
title
No quadro 24, é mostrado todos os métodos disponíveis na classe WorkflowRoleService.
createWorkflowRole
Cria um papel no
Fluig
fluig.
Método:
createWorkflowRole(String username, String password, int companyId, workflowRoleDtorole)
Parâmetros:
username: login do usuário.
password: senha do usuário.
companyId: código da empresa.
role: papel que será criado.
Retorno: String.
Estrutura de retorno com sucesso
Estrutura de retorno com erro
deleteWorkflowRole
Exclui um papel do
Fluig
fluig.
Método:
deleteWorkflowRole(String username, String password, int companyId, String roleId)
Parâmetros:
username: login do usuário.
password: senha do usuário.
companyId: código da empresa.
roleId: código do papel a ser excluído.
Retorno: String.
Estrutura de retorno com sucesso
Estrutura de retorno com erro
getWorkflowRole
Retorna um papel cadastrado no
Fluig
fluig.
Método:
getWorkflowRole(String username, String password, int companyId, String roleId)