TsgcWSPServer_WAMP › Metody › CallResult
Wysyła odpowiedź CALLRESULT (typ wiadomości 3) do wywołującego z pomyślnym wynikiem wcześniej odebranego RPC.
procedure CallResult(const aCallId: String; const aResult: String = '');
| Nazwa | Typ | Opis |
|---|---|---|
aCallId | const String | Identyfikator wygenerowany przez klienta podczas oryginalnego wywołania procedury zdalnej; służy do korelacji odpowiedzi z oczekującym wywołaniem. |
aResult | const String | Ładunek wyniku zwrócony do wywołującego. Może być dowolną wartością zserializowaną jako ciąg znaków (liczba, tekst w cudzysłowie, obiekt JSON, tablica JSON itd.). |
Należy wywołać tę metodę z wnętrza procedury obsługi OnCall (lub później, asynchronicznie) po pomyślnym zakończeniu wykonania procedury zdalnej. Serwer wyszukuje połączenie skojarzone z aCallId, serializuje ramkę WAMP CALLRESULT [3, CallID, Result], wysyła ją do wywołującego i usuwa wywołanie z listy oczekujących. Jeśli aCallId nie zostanie znaleziony (wywołanie nie zostało nigdy zarejestrowane lub już zostało obsłużone/anulowane), metoda nie wykonuje żadnej czynności. W przypadku procedur zdalnych generujących kilka fragmentów należy używać metody CallProgressResult dla fragmentów pośrednich i CallResult dla końcowego; do zgłaszania błędu należy użyć metody 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;