Bei MethodType würde ich noch mtPost angeben, ansonsten sieht es schon mal gut aus.
Aufrufen musst du das ganze dann mit ".../webhook".
Ich bin zwar weiter aber nicht am Ziel
auf der Clientseite sieht es so aus
Delphi-Quellcode:
procedure TfClient.btn1Click(Sender: TObject);
const
Url = '
https://alpt.kxmwm3epa9wmpje7.myfritz.net/datasnap/rest/TServerMethods1/Webhook';
var
LsList: TStringList;
LsStream: TStringStream;
begin
LsList := TStringlist.Create;
try
LsStream := TStringStream.Create;
try
LsList.Add('
abc=Test Client');
nthtprqst1.Post(
Url,LsList,LsStream) ;
mmo1.Lines.Add(UTF8Decode(LsStream.DataString));
finally
LsStream.Free;
end;
// try
finally
LsList.Free;
end;
// try
end;
und ich erhalte folgende Meldung {"error":"Methode TServerMethods1.updateWebhook in der Servermethodenliste nicht gefunden"}
vorher bekam ich {"error":"Methode TServerMethods1.Webhook in der Servermethodenliste nicht gefunden"}
darauf wurde
Delphi-Quellcode:
type
TServerMethods1 = class(TDSServerModule)
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
function EchoString(Value: string): string;
function ReverseString(Value: string): string;
function Webhook(Value: string): string;
end;
function TServerMethods1.Webhook(Value: string): string;
begin
Result := Value;
fConnect.Memo1.Lines.Add('Webhook ' + Result);
end;
hinzugefügt.
Die
Delphi-Quellcode:
procedure TWebModule1.WebModule1WebhookAction(Sender: TObject;
Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
var
S: String;
begin
S := Request.Content;
S := 'Empfangen: ' + S; // Daten verarbeiten
fWebhook.mmo('TWebModule1.WebModule1Webhook : ' + Request.Content );
Response.Content := S;
end;
ist wie von @Olli73 angegeben über onAction bearbeitet. siehe Bild
Was mich wundert ist
ich sende an
https://alpt.kxmwm3epa9wmpje7.myfritz.net/datasnap/rest/TServerMethods1/Webhook
"webhook"
und
ich erhalte einen Fehler weil
{"error":"Methode TServerMethods1.updateWebhook in der Servermethodenliste nicht gefunden"}
"updatewebhook fehlt.
Ich google nun schon eine weile weil ich nicht weiß was in die function rein muss die er haben möchte. bin aber noch nicht fündig geworden. Wenn Olli73 oder andere noch Tipps hätten wäre das kurz vor dem Ziel super..