sexta-feira, 21 de outubro de 2011

O que é RPC?

RPC - Remote Process Call é uma ferramenta que permite executar, no TOTVS Application Server local, funções que estejam compiladas em outro ambiente do TOTVS Application Server. Pontos importantes para execução do RPC Deve haver uma conexão TCP entres os dois servidores. A rotina que será executada, no servidor destino, deve estar compilada e pronta para utilização. Todos os parâmetros da função que serão executados devem ser respeitados para evitar erros. Exemplo #include "TOTVS.CH" // ------------------------------------ // Função chamada via RPC // ------------------------------------ User Function RpcCall(param1,param2) conout('--------------------------') conout('Conout executado via RPC') conout('Parametro 01: ' + param1) conout('Parametro 02: ' + param2) conout('--------------------------') Return ("Retorno RPC") // -------------------------------------- // Função para o teste da chamada via RPC // -------------------------------------- User Function TstRpc() // Prepara ambiente para conexão em outro Servidor cEnv := "TopPadrao" oRpcSrv := TRpc():New( cEnv ) // Conecta no ambiente cServer := "Localhost" cPort := 4321 If ( oRpcSrv:Connect( cServer, cPort ) ) // Executa função Time() através do CallProc cTime := oRpcSrv:CallProc('Time') // Executa função customizada e retorna valor da mesma cRet := oRpcSrv:CallProcEX('U_RpcCall', 'Parametro 01', 'Parametro 02') Alert( "Retorno da função RpcCall(): " + cRet ) // Fecha conexão oRpcSrv:Disconnect() Else UserException('Conexão RPC falhou...') Endif Return