Objetivo
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’s possam se comunicar com o serviço.
Criar Stubs
Os stubs são necessários para que os client’s que utilizam os métodos dos Webservices possam se comunicar com o serviço.
Para criar um stub é necessário que o serviço do 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 stub será 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.
Figura 1: Exemplo de criação de stub
No quadro 1, é mostrado o comando necessário para criação de stubs de cada serviço disponível no Fluig. Webservices (WSDL) | Comando | ECMAttributionMecanismService | wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMAttributionMecanismService?wsdl | ECMBusinessPeriodService | wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMBusinessPeriodService?wsdl | ECMCardIndexService | wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMCardIndexService?wsdl | ECMCardService | wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMCardService?wsdl | ECMColleagueGroupService | wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMColleagueGroupService?wsdl | ECMColleagueReplacementService | wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMColleagueReplacementService?wsdl | ECMColleagueService | wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMColleagueService?wsdl | ECMCompanyService | wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMCompanyService?wsdl | ECMCustomFieldsService | wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMCustomFieldsService?wsdl | ECMDashBoardService | wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMDashBoardService?wsdl | ECMDataServiceService | wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMDataServiceService?wsdl | ECMDatasetService | wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMDatasetService?wsdl | ECMDocumentService | wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMDocumentService?wsdl | ECMFavoritesService | wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMFavoritesService?wsdl | ECMFolderService | wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMFolderService?wsdl | ECMGlobalParamService | wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMGlobalParamService?wsdl | ECMGroupService | wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMGroupService?wsdl | ECMOutstandingService | wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMOutstandingService?wsdl | ECMReportService | wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMReportService?wsdl | ECMSearchDocumentService | wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMSearchDocumentService?wsdl | ECMSignalService | wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMSignalService?wsdl | ECMTokenService | wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMTokenService?wsdl | ECMWorkflowEngineService | wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMWorkflowEngineService?wsdl | ECMWorkflowRoleService | wsimport -d C:\Webservices\tmp http://<SERVER>:<PORT>/webdesk/ECMWorkflowRoleService?wsdl |
Quadro 1: Comandos para criação de stubs. |
Considerações Métodos de Update
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.
ECMAttributionMecanismService
Webservice responsável por realizar operações referentes aos mecanismos de atribuição cadastrados no Fluig. Pode ser utilizado para pesquisar os mecanismos de atribuição de uma determinada empresa.
Métodos
- getAttributionMecanism | Retorna os mecanismos de atribuição da empresa. Método: getAttributionMecanism(String user, String password, int companyId) Parâmetros: - user: login do usuário.
- password: senha do usuário.
- companyId: código da empresa.
Retorno: AttributionMecanismDto[]. |
Quadro 2: Métodos da AttributionMecanismService. |
Exemplo de utilização
No diretório de documentação do Fluig na pasta Documentos de Customização\Arquivos Adicionais\Exemplos Webservices\ExemplosAttributionMecanismService é disponibilizada a classe AttributionMecanismServiceClient.java, esta exemplifica a utilização de todos os métodos da classe AttributionMecanismService.
ECMBusinessPeriodService
Webservice responsável por realizar operações referentes aos expedientes cadastrados no Fluig. Pode ser utilizado para pesquisar os expedientes de uma determinada empresa.
Métodos
- getBusinessPeriods | Retorna os expedientes da empresa. Método: getBusinessPeriods(String user, String password, int companyId) Parâmetros: - user: login do usuário.
- password: senha do usuário.
- companyId: código da empresa.
Retorno: BusinessPeriodDto[]. |
Quadro 3: Métodos da BusinessPeriodService. |
Exemplo de utilização
No diretório de documentação do Fluig na pasta Documentos de Customização\Arquivos Adicionais\Exemplos Webservices\ExemplosBusinessPeriodService é disponibilizada a classe BusinessPeriodServiceClient.java, esta exemplifica a utilização de todos os métodos da classe BusinessPeriodService.
ECMCardIndexService
Webservice responsável por realizar operações referentes aos formulários cadastrados no Fluig.
Métodos
- 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) Parâmetros: - user: login do usuário.
- password: senha do usuário.
- companyId: código da empresa.
- parentDocumentId: numero do formulário.
- publisherId: código do autor.
- documentDescription: descrição.
- cardDescription: nome.
- attachments: arquivo anexo.
- customEvents: eventos.
Retorno: WebServiceMessageArray []. | createSimpleCardIndexWithDataset | Criação simples de um formulário com datasets. Método: createSimpleCardIndexWithDataset (String user, String password, int companyId, int parentDocumentId, String publisherId, String documentDescription, String cardDescription, String datasetName, AttachmentArray attachments, CardEventDtoArray customEvents) Parâmetros: - user: login do usuário.
- password: senha do usuário.
- companyId: código da empresa.
- parentDocumentId: numero do formulário.
- publisherId: código do autor.
- documentDescription: descrição.
- cardDescription: nome.
- datasetName: nome do dataset.
- attachments: arquivo anexo.
- customEvents: eventos.
Retorno: WebServiceMessageArray []. | createSimpleCardIndexWithDatasetPersisteType | Criação simples de um formulário com datasets determinando o tipo da persistência (Formulário ou Lista). createSimpleCardIndexWithDatasetPersisteType (String user, String password, int companyId, int parentDocumentId, String publisherId, String documentDescription, String cardDescription, String datasetName, AttachmentArray attachments, CardEventDtoArray customEvents, Integer persistenceType) Parâmetros: - user: login do usuário.
- password: senha do usuário.
- companyId: código da empresa;
- parentDocumentId: numero do formulário.
- publisherId: código do autor.
- documentDescription: descrição.
- cardDescription: nome.
- datasetName: nome do dataset.
- attachments: arquivo anexo.
- customEvents: eventos.
- persistenceType: tipo da persistência que será utilizada.
Retorno: WebServiceMessageArray []. | getActiveCardIndex | Retorna o formulário ativo. Método: getActiveCardIndex (String user, String password, int companyId, int documentId, String colleagueId) Parâmetros: - user: login do usuário.
- password: senha do usuário.
- companyId: código da empresa.
- documentId: número do formulário.
- colleagueId: número do usuário.
Retorno: DocumentDtoArray []. | getAttachmentsList | Retorna a lista de anexos do formulário. Método: getAttachmentsList (String user, String password, int companyId, int documentId) Parâmetros: - user: login do usuário.
- password: senha do usuário.
- companyId: código da empresa.
- documentId: numero do formulário.
Retorno: StringArray []. | getCardIndexContent | Retorna o conteúdo de um formulário. Método: getCardIndexContent (String user, String password, int companyId, int documentId, String colleagueId, int version, String nomeArquivo) Parâmetros: - user: login do usuário.
- password: senha do usuário.
- companyId: código da empresa.
- documentId: numero do formulário.
- colleagueId : matrícula do usuário para a verificação de permissão nos formulários.
- version: número da versão do formulário.
- nomeArquivo: nome do arquivo anexo.
Retorno: byte[]. | getCardIndexesWithoutApprover | Retorna os formulários sem aprovadores que o usuário tenha permissão. Método: getCardIndexesWithoutApprover(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 para a verificação de permissão nos formulários.
Retorno: DocumentDto[]. | getCustomizationEvents | Retorna os eventos do formulário. Método: getCustomizationEvents (String user, String password, int companyId, int documentId) Parâmetros: - user: login do usuário.
- password: senha do usuário.
- companyId: código da empresa.
- documentId: número do formulário.
Retorno: CardEventDtoArray []. | getFormFields | Retorna os campos do formulário. Método: getFormFields(String user, String password, int companyId, int documentId) Parâmetros: - user: login do usuário.
- password: senha do usuário.
- companyId: código da empresa.
- documentId: número do formulário.
Retorno: String[]. | updateSimpleCardIndex | Atualização simples do formulário. Método: updateSimpleCardIndex (String user, String password, int companyId, int documentId, String publisherId, String cardDescription, String descriptionField, AttachmentArray attachments, CardEventDtoArray customEvents) Parâmetros: - user: login do usuário.
- password: senha do usuário.
- companyId: código da empresa.
- documentId: número do formulário.
- publisherId: código do autor.
- cardDescription: nome.
- descriptionField: descrição.
- attachments: arquivo anexo.
- customEvents: eventos.
Retorno: WebServiceMessageArray []. | updateSimpleCardIndexWithDataset | Atualização simples do formulário com datasets. Método: updateSimpleCardIndexWithDataset (String user, String password, int companyId, int documentId, String publisherId, String cardDescription, String descriptionField, String datasetName, AttachmentArray attachments, CardEventDtoArray customEvents) Parâmetros: - user: login do usuário.
- password: senha do usuário.
- companyId: código da empresa.
- documentId: número do formulário.
- publisherId: código do autor.
- cardDescription: nome.
- descriptionField: descrição.
- datasetName: nome do dataset.
- attachments: arquivo anexo.
- customEvents: eventos.
Retorno: WebServiceMessageArray []. |
Quadro 4: Métodos da CardIndexService. |
Exemplo de utilização
No diretório de documentação do Fluig na pasta Documentos de Customização\Arquivos Adicionais\Exemplos Webservices\ExemplosCardIndexService é disponibilizada a classe CardIndexServiceClient.java, esta exemplifica a utilização de todos os métodos da classe CardIndexService.
ECMCardService
Webservice responsável por realizar operações referentes a formulários no Fluig. Pode ser utilizado para criar, alterar, excluir e pesquisar formulários, entre outras funcionalidades.
Métodos
- updateCardData | Altera os campos de um formulário. Método: updateCardData(int companyId, String user, String password, int cardId, CardFieldDto[] cardData) Parâmetros: - companyId: código da empresa.
- user: login do usuário.
- password: senha do usuário.
- cardId: número do formulário.
- cardData: campos do formulário que serão alterados.
Retorno: WebServiceMessage[]. | create | Cria um formulário. Método: create(int companyId, String user, String password, CardDto[] carddtos) Parâmetros: - companyId: código da empresa.
- user: login do usuário.
- password: senha do usuário.
- carddtos: formulário que será criado.
Retorno: WebServiceMessage[]. | deleteCard | Exclui um formulário e envia para a lixeira. Método: deleteCard(int companyId, String user, String password, int cardId) Parâmetros: - companyId: código da empresa.
- user: login do usuário.
- password: senha do usuário.
- cardId: número do formulário.
Retorno: WebServiceMessage[]. | updateCard | Altera os metadados de um formulário. Método: updateCard(int companyId, String user, String password, CardDto[] cardDtos, Attachment[] attachs, DocumentSecurityConfigDto[] docsecurity, ApproverDto[] docapprovers, RelatedDocumentDto[] reldocs) Parâmetros: - companyId: código da empresa.
- user: login do usuário.
- password: senha do usuário.
- cardDtos: formulário que será alterado.
- attachs: anexos do formulário.
- docsecurity: segurança do formulário.
- docapprovers: aprovadores do formulário.
- reldocs: documentos relacionados do formulário.
Retorno: WebServiceMessage[]. | getCardVersion | Retorna a versão de um formulário. Método: getCardVersion(int companyId, String user, String password, int nrDocumentId, int version, String colleagueId) Método: Parâmetros: - companyId: código da empresa.
- user: login do usuário.
- password: senha do usuário.
- nrDocumentId: número do formulário.
- version: versão do formulário.
- colleagueId: matrícula do usuário.
Retorno: CardDto[]. |
Quadro 5: Métodos da CardService. |
Exemplo de utilização
No diretório de documentação do Fluig na pasta Documentos de Customização\Arquivos Adicionais\Exemplos Webservices\ExemplosCardService é disponibilizada a classe CardServiceClient.java, esta exemplifica a utilização de todos os métodos da classe CardService.
ECMColleagueGroupService
Webservice responsável por realizar operações referentes aos grupos de usuários no Fluig. 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
- 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[]. | 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[]. | 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[]. | 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. | updateColleagueGroup | 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. | 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. |
Quadro 6: Métodos da ColleagueGroupService. |
Exemplo de utilização
No diretório de documentação do Fluig na pasta Documentos de Customização\Arquivos Adicionais\Exemplos Webservices\ExemplosColleagueGroupService é disponibilizada a classe ColleagueGroupServiceClient.java, esta exemplifica a utilização de todos os métodos da classe ColleagueGroupService.
ECMXXXXService
Webservice responsável por realizar operações referentes a xxxxxxx no Fluig. Pode ser utilizado para criar, alterar, excluir e pesquisar fichas, entre outras funcionalidades.
Métodos
- xxxxx | Altera os campos de um formulário. | | |
Quadro 6: Métodos da xxxxx |
Exemplo de utilização
No diretório de documentação do Fluig na pasta Documentos de Customização\Arquivos Adicionais\Exemplos Webservices\ExemplosXXXX é disponibilizada a classe xxxxx.java, esta exemplifica a utilização de todos os métodos da classe xxxxxxx.