top of page

Como habilitar os webservices do Totvs RM

Updated: Jul 20, 2022

O RM é um dos melhores produtos da Totvs para se trabalhar com integração, pois é possível executar via webservice praticamente qualquer funcionalidade do sistema.


Isto facilita muito a vida dos programadores e fornecedores terceiros porque fica muito simples a tarefa de executar processos internos ou acessar objetos de negócio do produto.


Por padrão, os webservices do Totvs RM vem desabilitados. Se você chegou até aqui provavelmente é porque precisa ativá-los, correto? Bom, vamos lá!


Antes de começar, verifique se o webservice já está ativado


Parece meio óbvio, mas antes de começar recomendo verificar se eles já não estão ativos. Além de ser muito simples, ainda pode te poupar tempo e trabalho.

Para verificar se o webservice do Totvs RM está ativo, basta acessar esta URL: http://localhost:[PORTA_DO_SEU_WEBSERVICE]/wspageindex


Nesta página se o campo DEFAULTDB estiver com o nome do Alias utilizado pelo banco de dados significa que ele já estão ativados! Pode pular direto para o final do artigo na parte de Dicas.


Agora se o campo DEFAULTDB estiver como desabilitado você pode serguir o nosso passo a passo.


Como habilitar os webservices do Totvs RM?


Ativar os webservices é muito simples e você pode fazer isto via IIS ou via Host do RM. Aqui, nós trataremos apenas a utilização via Host do RM.


Antes de qualquer coisa, você precisa certificar que tenha acesso de administrador ao servidor e permissão de escrita no diretório de instalação do RM.


O processo todo é feito em apenas dois passos, mas atenção, é necessário reiniciar o Host do RM no final.

1) Defina os parâmetros do webservice


Para definir os parâmetros do webservice, abra os arquivos RM.Host.exe.config e RM.Host.Service.exe.config no seu editor de texto favorito. Esses arquivos serão encontrados no diretório (\totvs\ [Alias] \RM.net). Em seguida, dentro da tag appSettings, insira os seguintes parâmetros:


<add key="defaultdb" value="CorporeRM" />
<add key="httpport" value="8051" />

O parâmetro defaultdb é o alias utilizado para o banco, geralmente "CorporeRM". Já o httpport é a porta onde o webservice será executado pelo Host. Existem alguns outros parâmetros adicionais que tratarei no final do post, no bloco de Dicas.

2) Adicione o endereço do webservice


Para adicionar a URL e porta do webservice, abra o promt command e execute o seguinte comando:


netsh http add urlacl url=http://+:8051/ user=NetworkService

Este comando irá reservar uma url e a porta 8051 para o usuário NetworkService, para que o Host do RM consiga prover os webservices neste servidor na porta configurada. O parâmetro + da url é um coringa que libera o acesso para qualquer que seja o nome ou ip do servidor.

Valide se deu tudo certo


Por fim, reinicie o host do RM e, em seu navegador favorito, acesse o endereço:



Se for exibida uma tela com a lista de todos os webservices do Totvs RM é porque deu tudo certo!

Dicas


Como export o webservice do Totvs RM para acesso externo?


Caso você precise expor os webservices do Totvs RM para acesso externo, adicione nos arquivos de configuração a seguinte tag:


<add key="ServicesHostName" value="ip externo OU nome externo" />.

Mas atenção, muito cuidado ao expor publicamente o webservice. Embora o acesso seja sempre autenticado, é extremamente recomendado uma análise detalhada dos aspectos de segurança envolvidos.

Atenção para o separador decimal!


Caso você esteja utilizando o webservice WsDataServer, é muito importante adicionar aos arquivos de configuração a tag:


<add key="WebServiceCulture" value="Invariant" />

Este parâmetro com o valor Invariant vai definir que o separador decimal de todas as operações do webservice será sempre ponto ., independente da cultura definida no sistema operacional.

Como fazer chamadas no webservice do Totvs RM?


O Totvs RM utiliza o padrão SOAP em todas as chamadas, ou seja, para construir integrações ou acessar dados, você precisará de um cliente que tenha suporte ao protocolo SOAP. Um dos clientes mais populares e utilizados para desenvolvimento e testes é o SoapUI, acesse este link para baixar.


Como mudar o endereço e porta do webservice do Totvs RM?


Se você precisar mudar a url ou porta do webservice, atualize os valores da tag httpport nos arquivos de configuração. Em seguida, remova a acl para a url/porta atual e defina uma outra regra para a nova url/porta. Para remover:


netsh http delete urlacl url=http://+:8051/ user=NetworkService


Consultar todas as acls do servidor:

netsh http show urlacl


Conclusão


Este é apenas o primeiro passo para começar a utilizar todo o potencial de integração do Totvs RM. Continuaremos a escrever artigos sobre como consumir os webservices, melhores práticas e guias mais detalhados. Não deixe de acompanhar o nosso blog!

Links de documentação


2,879 views0 comments
bottom of page