![]() |
Kommunikation mit Windows WCF Dienst
Hallo,
ich soll einen Request bei einem fremden Windows WCF Dienst machen und habe folgenden Javas Beispielcode, das von einer HTML Datei aufgerufen wird:
Code:
Es werden JSON Daten zum WCF Dienst hingeschickt und es werden JSON Daten zurückgeliefert.
$.ajax({
url: url, type: "POST", contentType: "application/json;encoding=utf-8", crossDomain: true, data: reqdata, success: success, error: error }); Muß ehrlich zugeben, dass ich bisher keine Erfahrung mit Windows WCF Dienst gehabt habe. Ich habe folgenden Code versucht, leider funktionert es nicht ganz.
Delphi-Quellcode:
Wie kann man sowas in Delphi 2007 nachbauen?
HttpPostURL('http://localhost:1201/testsample/POS/json/sign', Params, st);
Lg, jus |
AW: Kommunikation mit Windows WCF Dienst
Hallo,
wollt mich noch kurz melden, für die Leute die wie ich noch nie mit Microsoft WCF gearbeitet haben, habe es nun hingekriegt. Ist einfacher als ich es gedacht habe. Anscheinend habe ich das Tutorial ![]() Interessant wäre es trotzdem, wie man selber über ein http POST die JSON-Daten wie AJAX (siehe erster Beitrag) zum Server raufschickt. Vielleicht weiß da jemand Rat. :) Lg, jus |
AW: Kommunikation mit Windows WCF Dienst
Zitat:
![]() |
AW: Kommunikation mit Windows WCF Dienst
hallo Mike,
vielen Dank für die Antwort. Ich habs gleich ausprobiert, funktioniert leider nicht. Es kommt die Fehlermeldung "HTTP/1.1 400 Bad Request". lg, jus |
AW: Kommunikation mit Windows WCF Dienst
Was sagt Fiddler dazu?
|
AW: Kommunikation mit Windows WCF Dienst
ok, nun geht es. :cheers: War wieder Mal mein Fehler. :oops: Hatte im JSON einen Abschreibfehler gehabt.
@mjustin Danke nochmals für den Code! :-D Habe den folgenden Code geringfügig an Delphi 2007 angepaßt, damit es compiliert.
Delphi-Quellcode:
program JSONPostExample;
{$APPTYPE CONSOLE} uses IdHTTP, IdGlobal, SysUtils, Classes; var HTTP: TIdHTTP; RequestBody: TStream; ResponseBody: string; s: String; begin HTTP := TIdHTTP.Create; try try s := '{"ftID":"TESTID","cbD":"1"}'; writeln(s); RequestBody := TStringStream.Create(s); try HTTP.Request.Accept := 'application/json'; HTTP.Request.ContentType := 'application/json'; //<------ mußte bei mir zwingend drinstehen, damit es funktioniert!!! HTTP.Request.ContentEncoding:= 'utf-8'; ResponseBody := HTTP.Post('http://localhost:1201/testsample/POS/json/sign', RequestBody); WriteLn(ResponseBody); WriteLn(HTTP.ResponseText); finally RequestBody.Free; end; except on E: EIdHTTPProtocolException do begin WriteLn(E.Message); WriteLn(E.ErrorMessage); end; on E: Exception do begin WriteLn(E.Message); end; end; finally HTTP.Free; end; ReadLn; ReportMemoryLeaksOnShutdown := True; end. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:19 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz