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, corrto? Bom, vamos lá!
Parece meio óbivio, 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.
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.
Para definir os parametros 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.
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.
Por fim, reinicie o host do RM e, em seu navegador favorito, acesse o endereço:
http://SEUSERVIDOR:PORTA_DO_SEU_WEBSERVICE/wsPageIndex
Se for exibida uma tela com a lista de todos os webservices do Totvs RM é porque deu tudo certo!
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.
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.
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.
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
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!