![]() |
AW: Rad Server - IIS Installtion will einfach nicht laufen
Hallo Herr Eissing,
mal eine doofe Frage. In dem Video ![]() beste Grüße PJM |
AW: Rad Server - IIS Installtion will einfach nicht laufen
Und wo klemmt's?
Die Fehlerbeschreibung, die Schritte zum Nachvollziehen und/oder die Fehlermeldungen müssen im Posting unsichtbar sein.... |
AW: Rad Server - IIS Installtion will einfach nicht laufen
Zitat:
Das Package lädt, es reagiert, es liefert nur keine Daten. lässt man sich jedoch mit z.B.
Delphi-Quellcode:
die Anzahl der Datensätze mit loggen, dann stehen im Log die Anzahl der Datensätze der abzufragenden Tabelle. An Response vom Server kommt aber nur HTTP Code 200: content-length 0. (Mit Wireshark kontrolliert)
TEMSEndPointEnvironment.Instance.LogMessage(fdquery.recordcount.tostring);
Im Server selbst sind die Daten da, werden aber scheinbar über die Batchmomve Komponenten nicht an den Body des Response weiter gereicht. PS: bitte alles im IIS bzw. IIS Express testen, im EMSDevServer flutscht alles. |
AW: Rad Server - IIS Installtion will einfach nicht laufen
Mit dem Code geht's, aber dann bekomme ich noch headerinfos in meinem JSON string auf die der Client nicht ausgelegt ist.
Die Auskommentierten Zeilen waren der vorhergehende Aufruf.
Delphi-Quellcode:
procedure TDataResource1.GetItem(const AContext: TEndpointContext;
const ARequest: TEndpointRequest; const AResponse: TEndpointResponse); const cPreComponentName = 'qry'; var LItem: string; lQueryComponent: TComponent; lStream: TMemoryStream; begin LItem := ARequest.Params.Values['item']; // Sample code // AResponse.Body.SetValue(TJSONString.Create('data ' + LItem), true); lQueryComponent := FindComponent(cPreComponentName + LItem); if assigned(lQueryComponent) then begin if lQueryComponent is TFDQuery then begin TFDQuery(lQueryComponent).Open; // AResponse.Body.SetValue(TJSONString.Create(TFDQuery(lQueryComponent).RecordCount.ToString),true); lStream := TMemoryStream.Create; TFDQuery(lQueryComponent).SaveToStream(lstream, sfJSON); AResponse.Body.SetStream(lstream, 'application/json', True); // FDBatchMoveDataSetReader1.DataSet := TFDQuery(lQueryComponent); // FDBatchMoveJSONWriter1.JsonWriter := AResponse.Body.JsonWriter; // FDBatchMove1.Execute; exit; end; end; AResponse.Body.SetValue (TJSONString.Create(LItem + ' is no valid table'), true); end; |
AW: Rad Server - IIS Installtion will einfach nicht laufen
Okay Neuer Anlauf, mit dem Code Klappts nun. Noch 2 Bitten.
1.) kann die Funktion so bleiben? (Create des Array ohne Freigabe und zuweisung auf Result + Aufruf des Body.SetValue sollte das doch eigentlich frei geben, oder?) 2.) Das Ursprüngliche Verhalten ist doch ein Bug oder mach ich was falsch? Hab auch gerade nochmal mit Delphi 11 versucht, gleiches Problem. Gut nun aber der Code mit der Bitte mal drüber zu fliegen ob man dass so lassen kann. Danke!
Delphi-Quellcode:
function DatasetToJSONArray(aFDQuery: TFDQuery): TJSONArray;
var lArray: TJSONArray; begin if assigned(aFDQuery) and not aFDQuery.IsEmpty then begin lArray := TJSONArray.Create; try aFDQuery.first; while not aFDQuery.eof do begin var o: TJSONObject := TJSONObject.Create; for var I := 0 to aFDQuery.Fields.Count - 1 do begin if not varisnull(aFDQuery.Fields.Fields[I].value) then o.AddPair(aFDQuery.Fields.Fields[I].FieldName, aFDQuery.Fields.Fields[I].value) else o.AddPair(aFDQuery.Fields.Fields[I].FieldName, '') end; lArray.AddElement(o); aFDQuery.Next; end; finally Result := lArray; end; end; end; procedure TDataResource1.GetTableItems(const AContext: TEndpointContext; const ARequest: TEndpointRequest; const AResponse: TEndpointResponse); ... AResponse.Body.SetValue(DatasetToJSONArray(lquery),true); ... end; |
AW: Rad Server - IIS Installtion will einfach nicht laufen
Moin...:P
Zitat:
1. Groß/Kleinschreibung (assigned, value) - Du tippst ohne Codevervollständigung? Weil diese immer Assigned, Value anbieten würde. :wink: 2. o: TJSONObject := TJSONObject.Create; War die Batterie alle, daß du nur ein Zeichen für die Variable tippen konntest? :zwinker: Sprechende Namen erleichtern später hinaus die Arbeit. :hi: |
AW: Rad Server - IIS Installtion will einfach nicht laufen
Zitat:
Normal bin ich auch ein Freund von ausführlicheren deklarationen aber bei einem TJSONObject das inline deklariert und nur in dem Miniaturblock verwendet wird hab ich mir erlaubt den Part so zu lassen (Ein Teil davon ist von einem anderen Thread gemops *Hüstel*), für STRG + Shift + j muss ich schließlich 3 Tasten auf einemal drücken :lol: |
AW: Rad Server - IIS Installtion will einfach nicht laufen
8-)
|
AW: Rad Server - IIS Installtion will einfach nicht laufen
Hallo.
Ich habe da auch mal eine Frage zum RAD-Server. Bin heute von D 10.4.2 auf D 11 umgestiegen. Problem ist jetzt das sich mein RAD-Server Projekt nicht debuggen lasst. Es wird jetzt eine IB-DB in "C:\ProgramData\Embarcadero\Interbase\gds_db\EMSMS ERVERVER133.IB" gesucht, die ist natürlich nicht vorhanden. Bei 10.4.2 lag die Datenbank in C:\Users\Public\Documents\Embarcadero\EMS\EMSSERVE R.IB" Hat sich da was geändert? Hat sich eigentlich der RAD-Server geändert? Bin eigentlich froh das er so gut auf einen Server 2019 läuft. Gruß Stephan |
AW: Rad Server - IIS Installtion will einfach nicht laufen
Zitat:
Delphi-Quellcode:
oder Project Magician)
$(Auto)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:15 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