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

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

Webservices 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 

No quadro 20, é mostrado todos os métodos disponíveis na classe ECMAttributionMecanismService.

getAttributionMecanism

Retorna os mecanismos de atribuição da empresa.

 

Método:

getAttributionMecanism(String user, String password, int companyId)

 

Parâmetros:

  • user: login do colaborador;
  • password: senha do colaborador;
  • companyId: código da empresa;

 

Retorno: AttributionMecanismDto[].

Quadro 20: Métodos da ECMAttributionMecanismService

 

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

Webservices 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

No quadro 19, é 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)

 

Parâmetros:

  • user: login do colaborador;
  • password: senha do colaborador;
  • companyId: código da empresa;

 

Retorno: BusinessPeriodDto[].

Quadro 19: Métodos da BusinessPeriodService

 

Exemplo de utilização

No diretório de documentação do ECM 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

Webservices responsável por realizar operações referentes aos fichários cadastrados no ECM.

Métodos

No quadro 21, é 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)

 

Parâmetros:

  • user: login do colaborador;
  • password: senha do colaborador;
  • companyId: código da empresa;
  • parentDocumentId: numero do formulário.
  • publisherId: código do autor
  • documentDescription: descrição
  • cardDescription: nome
  • descriptionField: descrição
  • 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 colaborador;
  • password: senha do colaborador;
  • companyId: código da empresa;
  • parentDocumentId: numero do formulário.
  • publisherId: código do autor
  • documentDescription: descrição
  • cardDescription: nome
  • descriptionField: descrição
  • dataset: 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 (Ficha 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 colaborador;
  • password: senha do colaborador;
  • companyId: código da empresa;
  • parentDocumentId: numero do formulário.
  • publisherId: código do autor
  • documentDescription: descrição
  • cardDescription: nome
  • descriptionField: descrição
  • dataset: 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 colaborador;
  • password: senha do colaborador;
  • 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 colaborador;
  • password: senha do colaborador;
  • 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 colaborador;
  • password: senha do colaborador;
  • companyId: código da empresa;
  • documentId: numero do formulário.
  • colleagueId : matrícula do colaborador para a verificação de permissão nos formulário.
  •  version: número da versão do formulário.
  • nomeArquivo: nome do arquivo anexo

 

Retorno: byte[].

getCardIndexesWithoutApprover

Retorna os fichários sem aprovadores que o colaborador tenha permissão.

 

Método:

getCardIndexesWithoutApprover(String user, String password, int companyId, String colleagueId)

 

Parâmetros:

  • user: login do colaborador;
  • password: senha do colaborador;
  • companyId: código da empresa;
  • colleagueId : matrícula do colaborador para a verificação de permissão nos fichá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 colaborador;
  • password: senha do colaborador;
  • companyId: código da empresa;
  • documentId: numero 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 colaborador;
  • password: senha do colaborador;
  • companyId: código da empresa;
  • documentId: numero 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 colaborador;
  • password: senha do colaborador;
  • companyId: código da empresa;
  • documentId: numero 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 colaborador;
  • password: senha do colaborador;
  • companyId: código da empresa;
  • documentId: numero 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 21: 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

Webservices responsável por realizar operações referentes a fichas no ECM. Pode ser utilizado para criar, alterar, excluir e pesquisar fichas, entre outras funcionalidades.

Métodos

No quadro 12, é mostrado todos os métodos disponíveis na classe CardService.

updateCardData

Altera os campos de uma ficha.

 

Método:

updateCardData(int companyId, String user, String password, int cardId, CardFieldDto[] cardData)

 

Parâmetros:

  • companyId: código da empresa;
  • user: login do colaborador;
  • password: senha do colaborador;
  • cardId: número da ficha;
  • cardData: campos da ficha que serão alterados.

 

Retorno: WebServiceMessage[].

create

Cria uma ficha.

 

Método:

create(int companyId, String user, String password, CardDto[] carddtos)

 

Parâmetros:

  • companyId: código da empresa;
  • user: login do colaborador;
  • password: senha do colaborador;
  • carddtos: ficha que será criada.

 

Retorno: WebServiceMessage[].

deleteCard

Exclui uma ficha 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 colaborador;
  • password: senha do colaborador;
  • cardId: número da ficha.

 

Retorno: WebServiceMessage[].

updateCard

Altera os metadados de uma ficha.

 

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 colaborador;
  • password: senha do colaborador;
  • cardDtos: ficha que será alterada;
  • attachs: anexos da ficha;
  • docsecurity: segurança da ficha;
  • docapprovers: aprovadores da ficha;
  • reldocs: documentos relacionados da ficha.

 

Retorno: WebServiceMessage[].

getCardVersion

Retorna a versão de uma ficha.

 

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 colaborador;
  • password: senha do colaborador;
  • nrDocumentId: número da ficha;
  • version: versão da ficha;
  • colleagueId: matrícula do colaborador.

 

Retorno: CardDto[].

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.