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
https://msdn.microsoft.com/en-us/library/windows/desktop/cc307223(v=vs.85).aspx
https://msdn.microsoft.com/en-us/library/windows/desktop/cc307231(v=vs.85).aspx
https://docs.microsoft.com/en-us/dotnet/framework/wcf/feature-details/configuring-http-and-https
http://tdn.totvs.com/pages/releaseview.action?pageId=89620766#Procedimentos--2064216077
TOTVS®, PROTHEUS®, RM®, DATASUL®, FLUIG®, MEU PROTHEUS® e TOTVS CLOUD® são marcas de titularidade da TOTVS S.A. A APROVADOR SISTEMAS LTDA é um canal independente da TOTVS S.A., não havendo qualquer vínculo entre a referida empresa e os produtos e serviços oferecidos pela TOTVS S/A.
Comments