Histórico da Página
...
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
user function Example(aResult) ogRPC := tGrpc():New("smartlink.proto", "localhost",5001) if ogRPC:isRunning() conout("Server is online") else conout(ogRPC:ErrorDesc()) return endif ogRPC:ClientInfoProp := '{"dummy.json":{"clientproperties":[{"prop01": false}]}}' if ogRPC:clientSetup() conout(ogRPC:ErrorDesc()) endif ogRPC:ClientInfoProp := '{"dummy.json":{"clientproperties":[{"prop01": true}]}}' if(ogRPC:clientSetup() == .F.) conout(ogRPC:ErrorDesc()) endif ogRPC:ClientInfoProp := "e4vddea4-baba-4c9a-b772-gh77a5fce789" if (ogRPC:tenantSetup() == .F.) conout(ogRPC:ErrorDesc()) endif ogRPC:ClientInfoProp := "e4vddea4-baba-4c9a-b772-gh77a5fce789" if (ogRPC:tenantUndo() == .F.) conout(ogRPC:ErrorDesc()) endif oGRPC:MsgId := "idval" oGRPC:MsgType := "C" oGRPC:MsgContent := "mensagem enviada do client para o server" oGRPC:MsgAud := "audience" oGRPC:MsgDeliveryTag := 0 if ogRPC:sendMessage() conout("Mensagem enviada com sucesso") else conout(ogRPC:ErrorDesc()) endif conout(ogRPC:waitForMessages()) if(ogRPC:MsgContent = "mensagem enviada do client para o server") conout("erro, nao veio informacao do servidor") else oGRPC:MsgAckDeliveryTag := 1 ogRPC:MsgAck := .T. ogRPC:ackMessage() conout("waitForMessages ok!") endif return |
Abrangência
20.3.1.0 .5 em diante
HTML |
---|
<table border='1' width='100%'><tr bgcolor='#ccccff'><td colspan='2'><font size='+2'><b>Propriedades</b></font></td></tr><tr><td valign='top' align='right'><font face='monospace'>caractere</font></td> <td valign='top' width='100%'><font face='monospace'><b>ClientInfoProp</b></font><table width='100%'><tr><td> </td><td width='100%'>Setar o conteudo da propriedade client para envio da mensagem<br /> </td></tr></table> </td></tr> <tr><td valign='top' align='right'><font face='monospace'>caractere</font></td> <td valign='top' width='100%'><font face='monospace'><b>MsgId</b></font><table width='100%'><tr><td> </td><td width='100%'>Indica um ID para a mensagem<br /> </td></tr></table> </td></tr> <tr><td valign='top' align='right'><font face='monospace'>caractere</font></td> <td valign='top' width='100%'><font face='monospace'><b>MsgType</b></font><table width='100%'><tr><td> </td><td width='100%'>Indica o tipo da mensagem<br /> </td></tr></table> </td></tr> <tr><td valign='top' align='right'><font face='monospace'>caractere</font></td> <td valign='top' width='100%'><font face='monospace'><b>MsgContent</b></font><table width='100%'><tr><td> </td><td width='100%'>Conteudo da mensagem<br /> </td></tr></table> </td></tr> <tr><td valign='top' align='right'><font face='monospace'>caractere</font></td> <td valign='top' width='100%'><font face='monospace'><b>MsgAud</b></font><table width='100%'><tr><td> </td><td width='100%'>Conteudo para auditoria<br /> </td></tr></table> </td></tr> <tr><td valign='top' align='right'><font face='monospace'>numérico</font></td> <td valign='top' width='100%'><font face='monospace'><b>MsgDeliveryTag</b></font><table width='100%'><tr><td> </td><td width='100%'>Indica uma flag de entrega da mensagem<br /> </td></tr></table> </td></tr> <tr><td valign='top' align='right'><font face='monospace'>numérico</font></td> <td valign='top' width='100%'><font face='monospace'><b>MsgAckDeliveryTag</b></font><table width='100%'><tr><td> </td><td width='100%'>Seta a flag de entrega da mensagem no conhecimento de recebimento (metodo AckMessage)<br /> </td></tr></table> </td></tr> <tr><td valign='top' align='right'><font face='monospace'>numérico</font></td> <td valign='top' width='100%'><font face='monospace'><b>MsgAck</b></font><table width='100%'><tr><td> </td><td width='100%'>Seta a flag do metodo AckMessage<br /> </td></tr></table> </td></tr> </table> <br /> <table border='1' width='100%'><tr bgcolor='#ccccff'><td colspan='2'><font size='+2'><b>Resumo dos Métodos</b></font></td></tr><tr><td valign='top' align='right'><font face='monospace'>lógico</font></td> <td valign='top' width='100%'><font face='monospace'><b><a href='#isrunning()'>isRunning</a></b>()</font><table width='100%'><tr><td> </td><td width='100%'>Retorna verdadeiro (TRUE) se o gRPC Server esta rodando corretamente. Em caso de erro retorna FALSE, consultar ErrorCode() e ErrorDesc()<br /> </td></tr></table> </td></tr> <tr><td valign='top' align='right'><font face='monospace'>lógico</font></td> <td valign='top' width='100%'><font face='monospace'><b><a href='#clientsetup()'>clientSetup</a></b>()</font><table width='100%'><tr><td> </td><td width='100%'>Retorna verdadeiro (TRUE) se a configuração funcionou no gRPC Server corretamente. Em caso de erro retorna FALSE, consultar ErrorCode() e ErrorDesc()<br /> </td></tr></table> </td></tr> <tr><td valign='top' align='right'><font face='monospace'>lógico</font></td> <td valign='top' width='100%'><font face='monospace'><b><a href='#tenantsetup()'>tenantSetup</a></b>()</font><table width='100%'><tr><td> </td><td width='100%'>Retorna verdadeiro (TRUE) se a configuração funcionou no gRPC Server corretamente. Em caso de erro retorna FALSE, consultar ErrorCode() e ErrorDesc()<br /> </td></tr></table> </td></tr> <tr><td valign='top' align='right'><font face='monospace'>lógico</font></td> <td valign='top' width='100%'><font face='monospace'><b><a href='#tenantundo()'>tenantUndo</a></b>()</font><table width='100%'><tr><td> </td><td width='100%'>Retorna verdadeiro (TRUE) se a configuração funcionou no gRPC Server corretamente. Em caso de erro retorna FALSE, consultar ErrorCode() e ErrorDesc()<br /> </td></tr></table> </td></tr> <tr><td valign='top' align='right'><font face='monospace'>lógico</font></td> <td valign='top' width='100%'><font face='monospace'><b><a href='#sendmessages()'>sendMessages</a></b>()</font><table width='100%'><tr><td> </td><td width='100%'>Retorna verdadeiro (TRUE) se a mensagem foi enviada com sucesso ao gRPC Server corretamente. Em caso de erro retorna FALSE, consultar ErrorCode() e ErrorDesc()<br /> </td></tr></table> </td></tr> <tr><td valign='top' align='right'><font face='monospace'>caractere</font></td> <td valign='top' width='100%'><font face='monospace'><b><a href='#waitformessages()'>waitForMessages</a></b>()</font><table width='100%'><tr><td> </td><td width='100%'>Retorna o conteudo da mensagem (tambem setada em :MsgContent) se a mensagem foi recebida com sucesso ao gRPC Server corretamente. Em caso de erro não altera o conteudo da :MsgContent, e pode ser consultado ErrorCode() e ErrorDesc()<br /> </td></tr></table> </td></tr> <tr><td valign='top' align='right'><font face='monospace'>lógico</font></td> <td valign='top' width='100%'><font face='monospace'><b><a href='#ackmessage()'>ackMessage</a></b>()</font><table width='100%'><tr><td> </td><td width='100%'>Retorna o conteudo da mensagem (tambem setada em :MsgContent) se a mensagem foi recebida com sucesso ao gRPC Server corretamente. Em caso de erro não altera o conteudo da :MsgContent, e pode ser consultado ErrorCode() e ErrorDesc()<br /> </td></tr></table> </td></tr> <tr><td valign='top' align='right'><font face='monospace'>numérico</font></td> <td valign='top' width='100%'><font face='monospace'><b><a href='#errorcode()'>ErrorCode</a></b>()</font><table width='100%'><tr><td> </td><td width='100%'>Codigo de erro (obs: erros 100 são internos)<br /> </td></tr></table> </td></tr> <tr><td valign='top' align='right'><font face='monospace'>caractere</font></td> <td valign='top' width='100%'><font face='monospace'><b><a href='#errordesc()'>ErrorDesc</a></b>()</font><table width='100%'><tr><td> </td><td width='100%'>Descricao do erro<br /> </td></tr></table> </td></tr> </table> <br /> <table border='1' width='100%'><tr bgcolor='#ccccff'><td><font size='+2'><b>Detalhes dos Métodos</b></font></td></tr></table> <a name='New()'><!-- --></a><p><b>New</b></p><dl><dt><font face='monospace'>Objeto - <b>New</b>()</p> </font></dt><dd><p>Cria um objeto tGrpc com um servidor pelo protocolo gRPC no modelo do arquivo .proto informado. Atualmente, aceita o modelo Smartlink, predeterminado pela TOTVS.</p> <dl><dt><b>Retorno:</b></dt> <dd><font face='monospace'>objeto lRet</font> - retorna o objeto da classe</dd> </dl><dl><dt><b>Exemplos:</b></dt>Local oClient := tGrpc():New("smartlink.proto","localhost",5001)<br /> </font></dd></dl></dd></dl><hr /> <a name='isrunning()'><!-- --></a><p><b>isRunning</b></p><dl><dt><font face='monospace'>lógico - <b>isRunning</b>()</p> </font></dt><dd><p>Checa se o gRPC Server esta rodando corretamente.</p> <dl><dt><b>Retorno:</b></dt> <dd><font face='monospace'>lógico lRet</font> - Retorna verdadeiro (TRUE) se o gRPC Server esta rodando corretamente. Em caso de erro retorna FALSE, consultar ErrorCode() e ErrorDesc()</dd> </dl><dl><dt><b>Exemplos:</b></dt>if ogRPC:isRunning()<br /> conout("Server is online")<br /> else<br /> conout(ogRPC:ErrorDesc())<br /> endif<br /><br /> <br /> </font></dd></dl></dd></dl><hr /> <a name='clientsetup()'><!-- --></a><p><b>clientSetup</b></p><dl><dt><font face='monospace'>lógico - <b>clientSetup</b>()</p> </font></dt><dd><p>Configura um client no servidor</p> <dl><dt><b>Retorno:</b></dt> <dd><font face='monospace'>lógico lRet</font> - Retorna verdadeiro (TRUE) se a configuração funcionou no gRPC Server corretamente. Em caso de erro retorna FALSE, consultar ErrorCode() e ErrorDesc()</dd> </dl><dl><dt><b>Exemplos:</b></dt> <dd>[code]<br /> ogRPC:ClientInfoProp = '{"dummy.json":{"clientproperties":[{"prop01": false}]}}'<br /> if ogRPC:clientSetup()<br /> conout(ogRPC:ErrorDesc())<br /> endif<br /> <br /> ogRPC:ClientInfoProp = '{"dummy.json":{"clientproperties":[{"prop01": true}]}}'<br /> if ogRPC:clientSetup()<br /> conout("configuração realizada com sucesso")<br /> endif<br /> [code]<br /> </font></dd></dl></dd></dl><hr /> <a name='tenantsetup()'><!-- --></a><p><b>tenantSetup</b></p><dl><dt><font face='monospace'>lógico - <b>tenantSetup</b>()</p> </font></dt><dd><p>Configura um um grupo ou entidade de recursos no servidor gRPC</p> <dl><dt><b>Retorno:</b></dt> <dd><font face='monospace'>lógico lRet</font> - Retorna verdadeiro (TRUE) se a configuração funcionou no gRPC Server corretamente. Em caso de erro retorna FALSE, consultar ErrorCode() e ErrorDesc()</dd> </dl><dl><dt><b>Exemplos:</b></dt> <dd>[code]<br /> ogRPC:ClientInfoProp := "e4vddea4-baba-4c9a-b772-gh77a5fce789"<br /> if ogRPC:tenantSetup()<br /> conout(ogRPC:ErrorDesc())<br /> endif<br /> [code]<br /> </font></dd></dl></dd></dl><hr /> <a name='tenantundo()'><!-- --></a><p><b>tenantUndo</b></p><dl><dt><font face='monospace'>lógico - <b>tenantUndo</b>()</p> </font></dt><dd><p>Desfaz a configuração um um grupo ou entidade de recursos no servidor gRPC</p> <dl><dt><b>Retorno:</b></dt> <dd><font face='monospace'>lógico lRet</font> - Retorna verdadeiro (TRUE) se a configuração funcionou no gRPC Server corretamente. Em caso de erro retorna FALSE, consultar ErrorCode() e ErrorDesc()</dd> </dl><dl><dt><b>Exemplos:</b></dt> <dd>[code]<br /> ogRPC:ClientInfoProp := "e4vddea4-baba-4c9a-b772-gh77a5fce789"<br /> if ogRPC:tenantUndo()<br /> conout(ogRPC:ErrorDesc())<br /> endif<br /> [code]<br /> </font></dd></dl></dd></dl><hr /> <a name='sendmessages()'><!-- --></a><p><b>sendMessages</b></p><dl><dt><font face='monospace'>lógico - <b>sendMessages</b>()</p> </font></dt><dd><p>Envia uma mensagem do client para o servidor</p> <dl><dt><b>Retorno:</b></dt> <dd><font face='monospace'>lógico lRet</font> - Retorna verdadeiro (TRUE) se a mensagem foi enviada com sucesso ao gRPC Server corretamente. Em caso de erro retorna FALSE, consultar ErrorCode() e ErrorDesc()</dd> </dl><dl><dt><b>Exemplos:</b></dt> <dd>[code]<br /> oGRPC:MsgId := "idval"<br /> oGRPC:MsgType := "C"<br /> oGRPC:MsgContent := "mensagem enviada do client para o server"<br /> oGRPC:MsgAud := "audience"<br /> oGRPC:MsgDeliveryTag := 0<br /> <br /> <br /> if ogRPC:sendMessage()<br /> conout("Mensagem enviada com sucesso)<br /> else<br /> conout(ogRPC:ErrorDesc())<br /> endif<br /> [code]<br /> </font></dd></dl></dd></dl><hr /> <a name='waitformessages()'><!-- --></a><p><b>waitForMessages</b></p><dl><dt><font face='monospace'>caractere - <b>waitForMessages</b>()</p> </font></dt><dd><p>Aguarda e recebe uma mensagem do servidor</p> <dl><dt><b>Retorno:</b></dt> <dd><font face='monospace'>caractere lRet</font> - Retorna o conteudo da mensagem (tambem setada em :MsgContent) se a mensagem foi recebida com sucesso ao gRPC Server corretamente. Em caso de erro não altera o conteudo da :MsgContent, e pode ser consultado ErrorCode() e ErrorDesc()</dd> </dl><dl><dt><b>Exemplos:</b></dt> <dd>[code]<br /> ogRPC:MsgContent := ""<br /> conout(ogRPC:waitForMessages())<br /> if(ogRPC:MsgContent = "")<br /> conout("erro, nao veio informacao do servidor")<br /> conout(ogRPC:ErrorDesc())<br /> else<br /> conout("Mensagem recebida com sucesso)<br /> endif<br /> <br /> [code]<br /> </font></dd></dl></dd></dl><hr /> <a name='ackmessage()'><!-- --></a><p><b>ackMessage</b></p><dl><dt><font face='monospace'>lógico - <b>ackMessage</b>()</p> </font></dt><dd><p>Envia reconhecimento de uma mensagem no cliente</p> <dl><dt><b>Retorno:</b></dt> <dd><font face='monospace'>lógico lRet</font> - Retorna o conteudo da mensagem (tambem setada em :MsgContent) se a mensagem foi recebida com sucesso ao gRPC Server corretamente. Em caso de erro não altera o conteudo da :MsgContent, e pode ser consultado ErrorCode() e ErrorDesc()</dd> </dl><dl><dt><b>Exemplos:</b></dt> <dd>[code]<br /> ogRPC:MsgContent := ""<br /> conout(ogRPC:waitForMessages())<br /> if(ogRPC:MsgContent = "")<br /> conout("erro, nao veio informacao do servidor")<br /> conout(ogRPC:ErrorDesc())<br /> else<br /> oGRPC:MsgAckDeliveryTag := 1<br /> ogRPC:MsgAck := .T.<br /> if ogRPC:ackMessage()<br /> else<br /> conout("setar reconhecimento falhou")<br /> conout(ogRPC:ErrorDesc())<br /> endif<br /> conout("Mensagem recebida com sucesso)<br /> endif<br /> <br /> [code]<br /> </font></dd></dl></dd></dl><hr /> <a name='errorcode()'><!-- --></a><p><b>ErrorCode</b></p><dl><dt><font face='monospace'>numérico - <b>ErrorCode</b>()</p> </font></dt><dd><p>Retorna o codigo de erro do ultimo comando realizado</p> <dl><dt><b>Retorno:</b></dt> <dd><font face='monospace'>numérico lRet</font> - Codigo de erro (obs: erros 100 são internos)</dd> </dl><dl><dt><b>Exemplos:</b></dt> <dd>[code]<br /> ogRPC:MsgContent := ""<br /> conout(ogRPC:waitForMessages())<br /> if(ogRPC:MsgContent = "")<br /> conout("erro, nao veio informacao do servidor")<br /> conout(ogRPC:ErrorCode())<br /> else<br /> conout("Mensagem recebida com sucesso)<br /> endif<br /> <br /> [code]<br /> </font></dd></dl></dd></dl><hr /> <a name='errordesc()'><!-- --></a><p><b>ErrorDesc</b></p><dl><dt><font face='monospace'>caractere - <b>ErrorDesc</b>()</p> </font></dt><dd><p>Retorna a descrição do erro do ultimo comando realizado</p> <dl><dt><b>Retorno:</b></dt> <dd><font face='monospace'>caractere lRet</font> - Descricao do erro</dd> </dl><dl><dt><b>Exemplos:</b></dt> <dd>[code]<br /> ogRPC:MsgContent := ""<br /> conout(ogRPC:waitForMessages())<br /> if(ogRPC:MsgContent = "")<br /> conout("erro, nao veio informacao do servidor")<br /> conout(ogRPC:ErrorDesc())<br /> else<br /> conout("Mensagem recebida com sucesso)<br /> endif<br /> <br /> [code]<br /> </font></dd></dl></dd></dl><br /> |
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas