TsgcWSPServer_WAMP › Metodi › CallResult
Invia una risposta CALLRESULT (tipo messaggio 3) al chiamante con il risultato positivo di un RPC precedentemente ricevuto.
procedure CallResult(const aCallId: String; const aResult: String = '');
| Nome | Tipo | Descrizione |
|---|---|---|
aCallId | const String | Identificatore generato dal client al momento dell'invocazione della procedura remota; utilizzato per correlare la risposta alla chiamata in attesa. |
aResult | const String | Payload del risultato restituito al chiamante. Può essere qualsiasi valore serializzato come stringa (numero, testo tra virgolette, oggetto JSON, array JSON, ecc.). |
Chiamare questo metodo dall'interno di un gestore OnCall (o successivamente, in modo asincrono) una volta che l'esecuzione della procedura remota è terminata con successo. Il server cerca la connessione associata a aCallId, serializza un frame WAMP CALLRESULT [3, CallID, Result], lo invia al chiamante e rimuove la chiamata dall'elenco in attesa. Se aCallId non viene trovato (la chiamata non è mai stata registrata, o è già stata risposta/annullata), il metodo non esegue alcuna operazione. Per le RPC che producono più blocchi, utilizzare CallProgressResult per i pezzi intermedi e CallResult per quello finale; per segnalare un errore, utilizzare invece 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;