TsgcWSPServer_WAMP › Métodos › CallResult
Envia uma resposta CALLRESULT (tipo de mensagem 3) ao chamador com o resultado bem-sucedido de um RPC previamente recebido.
procedure CallResult(const aCallId: String; const aResult: String = '');
| Name | Type | Descrição |
|---|---|---|
aCallId | const String | Identificador gerado pelo cliente quando ele invocou originalmente o procedimento remoto; utilizado para correlacionar a resposta com a chamada pendente. |
aResult | const String | Payload de resultado retornado ao chamador. Pode ser qualquer valor serializado como String (número, texto entre aspas, objeto JSON, array JSON, etc.). |
Chame este método de dentro de um manipulador OnCall (ou posteriormente, de forma assíncrona) assim que a execução do procedimento remoto tiver sido concluída com sucesso. O servidor procura a conexão associada a aCallId, serializa um frame WAMP CALLRESULT [3, CallID, Result], o despacha ao chamador e remove a chamada da lista de pendentes. Se aCallId não for encontrado (a chamada nunca foi registrada, ou já foi respondida/cancelada), o método não faz nada. Para RPCs que produzem vários chunks, utilize CallProgressResult para as partes intermediárias e CallResult para a final; para reportar uma falha, utilize CallError.
procedure TForm1.sgcWSPServer_WAMP1Call(Connection: TsgcWSConnection;
const CallId, ProcURI: string; Arguments: TStringList);
begin
if ProcURI = 'com.example.add' then
sgcWSPServer_WAMP1.CallResult(CallId, '42');
end;