TsgcWSPServer_WAMPMetody › CallResult

CallResult Metoda

Wysyła odpowiedź CALLRESULT (typ wiadomości 3) do wywołującego z pomyślnym wynikiem wcześniej odebranego RPC.

Składnia

procedure CallResult(const aCallId: String; const aResult: String = '');

Parametry

NazwaTypOpis
aCallIdconst StringIdentyfikator wygenerowany przez klienta podczas oryginalnego wywołania procedury zdalnej; służy do korelacji odpowiedzi z oczekującym wywołaniem.
aResultconst 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.).

Uwagi

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.

Przykład

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;

Powrót do metod