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

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 

-

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

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

-

 

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

Webservices 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

Webservices responsável por realizar operações referentes a formulários no Fluig. Pode ser utilizado para criar, alterar, excluir e pesquisar fichas, 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.