Histórico da Página
...
O serviço TOTVS Framework REST prove O serviço TOTVS Datasul WS-EXEC-BO prove um canal de comunicação (via WebServices) entre a interface do usuário (front-end) e o servidor de aplicação / banco de dados (back-end). Tal serviço, permite o acesso a APIs, BOs ou a execução simples de programas (preparados para receber e enviar um JSon) via AppServer Progress.
Informações Técnicas | |
---|---|
WAR Principal | totvs-fwk-rest.war |
Objetivo | Permitir o acesso a execução de APIs, BOs ou programas preparados Progress, através de arquitetura REST (Representational State Transfer) através de um contexto seguro. |
Entradas | Parâmetros via Query Parameters, Path Parameters, Payload (JSon) e Arquivo (Upload). |
Saídas | Retornos via JSon e Arquivo (Download). |
Métodos Suportados | GET, POST, PUT e DELETE |
Configuração
O TOTVS Framework REST necessita apenas como pré-requisito as configurações de conexão ao AppServer Progress e os programas Progress compilados (.r). Todo o gerenciamento de quais serviços, métodos, atributos estão disponíveis é feito pelo próprio TOTVS REST, não necessitando de nenhuma intervenção do desenvolvedor ou usuário.
Nota | ||
---|---|---|
| ||
Em comparação com o antigo Datasul REST, não existe mais a necessidade de geração dos arquivos JSon para cada arquivo Progress (API ou DBO). Da mesma forma, não são mais necessárias parametrizações nas propriedades indicando o caminho da listagem de serviços disponíveis (rest.properties). |
Compatibilidade de Navegadores
Os navegadores suportados pelo TOTVS Framework REST são:
...
Informações |
---|
Apesar do nome, este serviço deve ser utilizado apenas para chamadas à API´s, uma vez que as operações das DBO´s não são Stateless. |
- Este serviço é hospedado para o contexto do TOTVS-REST, com seu acesso pela URL http(s)://<host>:<port>/totvs-rest/public/ws/WebServiceExecBO.
- Com a finalidade de manter a compatibilidade com as integrações já existentes, foi implementado um serviço para a URL http(s)://<host>:<port>/wsexecbo/WebServiceExecBO?wsdl, que redireciona para o contexto anterior.
- A descrição WSDL do serviço podem ser acessada por meio das URLs:
- http(s)://<host>:<port>/totvs-rest/public/ws/WebServiceExecBO.wsdl
- http(s)://<host>:<port>/wsexecbo/WebServiceExecBO?wsdl
As operações disponíveis neste serviço são:
Operação | Descrição |
---|---|
login | Recebe como cabeçalhos HTTP o nome do usuário ("username") e a senha ("password") e retorna um TOKEN JWT que deve ser utilizado para as chamadas às outras operações.
Recomendamos a utilização do serviço api/auth/accesstoken, para geração de token para usuários internos e externos. |
userAndPasswordLogin | Recebe como argumentos o nome do usuário ("arg0"), senha ("arg1") e retorna um TOKEN JWT.
Recomendamos a utilização do serviço api/auth/accesstoken, para geração de token para usuários internos e externos. |
| |
callProcedure | Recebe como cabeçalho HTTP o TOKEN JWT ("usertoken") e como argumentos o nome do programa ("arg0"), o nome do procedimento ("arg1") e os parâmetros desta ("arg2"). |
callProcedureWithCompany | Recebe como cabeçalho HTTP o TOKEN JWT ("usertoken") e como argumentos o código da companhia ("arg0"), nome do programa ("arg1"), o nome do procedimento ("arg2") e os parâmetros desta ("arg3"). |
callProcedureWithToken | Recebe como argumentos o TOKEN JWT ("arg0"), o nome do programa ("arg1"), o nome do procedimento ("arg2") e os parâmetros desta ("arg3"). |
callProcedureWithTokenAndCompany | Recebe como argumentos o TOKEN JWT ("arg0"), o código da companhia ("arg1"), o nome do programa ("arg2"), o nome do procedimento ("arg3") e os parâmetros desta ("arg4"). |
Aviso | ||
---|---|---|
| ||
Verificar a configuração em Propriedades → Propriedades Gerais → WebService (Permite login WebService).
Recomendamos a utilização do serviço responsável pela geração de Token JWT de acordo com as credencias do usuário (http://[SERVIDOR]:[PORTA]/api/auth/accesstoken)
|
Expandir | |||||||||
---|---|---|---|---|---|---|---|---|---|
| |||||||||
A nível de teste pode-se utilizar a ferramenta SOAPUI ou Postman. Neste caso foi utilizado o SOAPUI 5.5.0. Supondo que a ferramenta esteja instalada, pode-se seguir as etapas abaixo para validação e testes: 1- Clicar no botão "Explorer EndPoint" e informar a URL onde se encontra o serviço. Caso a URL esteja funcional, será retornado o arquivo com as informações do WSDL (É a mesma situação que ocorre em execuções direta da URL pelo navegador): 2- Criar um projeto: 3- Adicionar a URL WSDL (Project → Add WSDL) → informar a URL onde se encontra a descrição WSDL do serviço): Com isto, são carregados uma coleção com os endpoints/operações deste serviço, as quais já estão informadas no quadro acima, sendo disponíveis para utilização. 4- Efetuar uma requisição de "login". Neste exemplo foi realizada a requisição REST ao endpoint api/auth/accesstoken para geração do TOKEN JWT. 5- Com base no token JWT gerado, efetuar a chamada aos programas Progress com o endpoint/operador desejado. Neste exemplo foi utilizado o callProcedureWithToken. O exemplo acima utiliza o programa Progress "CalculadoraSimples.p", abaixo está o trecho de código para testes.
|
...
Informações | ||
---|---|---|
| ||
Para garantir o funcionamento no Internet Explorer, é necessário desabilitar a opção "Incluir caminho do diretório local ao carregar arquivos em um servidor" em Opções da internet > Segurança > Nível personalizado... > Miscelânea. |
Utilização no desenvolvimento
O TOTVS Framework REST está preparado para efetuar chamadas de APIs, DBOs e execuções simples de programas Progress que estejam preparados para receber e retornar um JSon. Abaixo são apresentadas as formas de chamadas e tratamento para cada um dos tipos de execuções:
...