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.
BusinessPeriodService
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.
CardIndexService
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. |