Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...


...

 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).

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.

Aviso

Com o D4THF não é necessária nenhuma configuração para o funcionamento do WS-EXEC-BO!!!

...

  • 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çãoDescriçã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.

userLogin
    • Suportado somente para usuários internos.


Recomendamos a utilização do serviço api/auth/accesstoken, para geração de token para usuários internos e externos

Recebe como argumento ("arg0") o nome do usuário ou e-mail e retorna um TOKEN JWT

.

userAndPasswordLogin

Recebe como argumentos o nome do usuário ("arg0")

e a

, senha ("arg1") e retorna um TOKEN JWT.

    • Suportado somente para usuários internos.


Recomendamos a utilização do serviço api/auth/accesstoken, para geração de token para usuários internos e externos.

logoutSession

Depreciado.

logoutSession

Mantido apenas para compatibilidade, não é mais utilizado uma vez que o TOKEN JWT expira automaticamente.

callProcedureRecebe 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").
callProcedureWithCompanyRecebe 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").
callProcedureWithTokenRecebe 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
titleAviso

Verificar a configuração em Propriedades → Propriedades Gerais → WebService (Permite login WebService).

  • Caso esta propriedade não exista no banco de dados, o sistema permitirá o acesso as operações de login (login, userLogin e userAndPasswordLogin). Se houver algum valor incorreto no atributo, ocorrerá o bloqueio as operações de WebService login.

...

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
titleClique para visualizar o conteúdoExemplo com a utilização de um Token JWT

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 já esta esteja instalada, pode-se seguir as dicas etapas abaixo para um testevalidação e testes:


1- Atraves do Clicar no botão "Explorer EndPoint"  → e informar a url URL onde se encontra o serviço e se estiver tudo correto irá retornar .

Caso a URL esteja funcional, será retornado o arquivo com as informações do WSDL *.*E a mesma situação que ocorre se for executado através de um navegador;em execuções direta da URL pelo navegador):

Image Added

Image Added


2- Criar um projeto:

Image Added


3- Adicionar a URL WSDL (Project → Add WSDL) → informar a URL  novo (empty project)→ adicionar um WSDL (informar a url onde se encontra a descrição WSDL do serviço);:

Image Added

Image Removed
Image Modified


Image Added


Com isto serão , são carregados uma coleção contendo 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 caso ja pode-se utilizar diretamente o endpoint/operação para acessar o serviço.

Image Removed

Nesta imagem foi feito uma request para endpoint/operador UserLogin passando como parâmetro no arg1 o nome do usuário desejado, e na response é retornado o token.

Image Removed
Informações

Neste exemplo foi realizada a requisição REST ao endpoint api/auth/accesstoken para geração do TOKEN JWT.

Image Added


5- Com base no token JWT gerado, efetuar a chamada aos programas Progress com o endpoint/operador desejado.

Neste exemplo foi utilizado o callProcedureWithToken.

Image Added


O exemplo acima utiliza o programa Progress "CalculadoraSimples.p", abaixo está o trecho de código para testes.

Bloco de código
languagexml
titlejava/CalculadoraSimples.p
        <!--Optional:-->
		<arg1>java/CalculadoraSimples.p</arg1>
	    <!--Optional:-->
	    <arg2>pi-calc</arg2>
         <!--Optional:-->
         <arg3>[ { "name":"pOperador", "type":"input", "dataType":"character", "value":"+"},
				{ "name":"pNum1", "type":"input", "dataType":"decimal", "value":1},
				{ "name":"pNum2", "type":"input", "dataType":"decimal", "value":1},
				{ "name":"pResult", "type":"output", "dataType":"decimal", "value":0 } ]
	    </arg3>
Para maiores informações do JWT quanto a uso e configuração, verificar o link a seguir [DTS4THF] Configurando autenticação com JWT