Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Rad Server - IIS Installtion will einfach nicht laufen (https://www.delphipraxis.net/208772-rad-server-iis-installtion-will-einfach-nicht-laufen.html)

fisipjm 13. Sep 2021 11:23

Datenbank: MSSQL • Version: 14 • Zugriff über: RadServer

Rad Server - IIS Installtion will einfach nicht laufen
 
Hi,

hab eine RAD Server Anwendung (Datei.BPL) die mir einen Rest Endpoint zur Verfügung stellt. Auf der Development Umgebung läuft alles schön sauber. Doch beim laden des Moduls im IIS habe ich erst eine Fehlermledung bekommen, das Packete fehlen. Die hab ich alle schön Braf über ProcessMonitor von Sysinternals herausgefunden und in die jeweiligen Verzeichnisse kopiert (halber Tag Arbeit) danach Ich hab in der EMS Server INI den Logging Pfad angegeben. Das Log sage mir nur LOADING Datei.BPL. mehr nicht. Beim aufruf von URL/emsserver.dll/version bekomme ich nur eine wartende Webseite. Der IIS lässt sich scheinbar auch nur noch mit einem TImeout beenden.
Ich hab im Modul selbst ein Logging eingebaut. Die Logdatei wird beim Create des Moduls initialisiert und ist im angegebenen Verzeichnis vorhanden. Weiter komme ich allerdings nicht. Wie kann ich die Sache weiter debuggen? Ich bin mit Meinem Latein leider ziemlich am Ende.

MFG
PJM

MEissing 13. Sep 2021 15:28

AW: Rad Server - IIS Installtion will einfach nicht laufen
 
„Echter“ RAD Server Key? Oder InterBase Key?

fisipjm 13. Sep 2021 16:17

AW: Rad Server - IIS Installtion will einfach nicht laufen
 
Hallo Herr Eissing,

find ich klasse das sie sich meiner annehmen :-)
Nach dem ausführlichen Webinar "Rad Server auf IIS 10" und ihren wiederholten Hinweisen, habe ich natürlich einen gültigen RAD Server Key aus meiner Enterprise version verwendet.

Sie haben in diesem Webinar einen kleinen Nebensatz fallen lassen (der Einfachheit wegen leben wir die BPL in das RadServer verzeichnis). Wie verhält sich das denn wenn man die BPL nicht im RADServer Verzeichniss liegen haben möchte?
Ich befürchte das da bei mir das Problem liegt.

Mit freundlichen Grüßen
PJM

fisipjm 14. Sep 2021 07:35

AW: Rad Server - IIS Installtion will einfach nicht laufen
 
Guten Morgen,

vieleicht noch als kleine Zusatzinfo. Starte ich den EMSDevServer, funktioniert der Zugriff. Starte ich den Webserver, hängt der Aufruf bei Loading Datei.bpl und ich kann nicht sehen wo es hängt.

MFG
PJM

MEissing 14. Sep 2021 09:30

AW: Rad Server - IIS Installtion will einfach nicht laufen
 
Mal bitte die Seriennummer per PN (nicht hier öffentlich!) schicken. Danke!

fisipjm 14. Sep 2021 09:41

AW: Rad Server - IIS Installtion will einfach nicht laufen
 
Ist passiert. Ich denke aber tatsächlich nicht das es an der lizensierung liegt. Wenn ich eine Blanko BPL das Verzeichnis lege funktioniert alles ohne zu muken.

MEissing 14. Sep 2021 10:18

AW: Rad Server - IIS Installtion will einfach nicht laufen
 
Also:
- Der Key ist korrekt / ein echter RAD Server Key

Fragen
- Welches OS / welcher IIS
- Wurde der RAD Server per Installer (aus GetIt) installiert?
- Wurde das selbstgeschriebene Paket (BPL) in der EMSSERVER.INI eingetragen? Danach Neustart vom IIS?
C:\Benutzer\Öffentlich\Öffentliche Dokumente\Embarcadero\EMS

Code:
[Server.Packages]
;# This section is for extension packages.
;# Extension packages are used to register custom resource endpoints
;c:\mypackages\basicextensions.bpl=mypackage description

fisipjm 14. Sep 2021 10:50

AW: Rad Server - IIS Installtion will einfach nicht laufen
 
Zitat:

Zitat von MEissing (Beitrag 1494758)
Also:
- Der Key ist korrekt / ein echter RAD Server Key

Fragen
- Welches OS / welcher IIS

Windows Server 2019 Std. / IIS 10

Zitat:

Zitat von MEissing (Beitrag 1494758)
- Wurde der RAD Server per Installer (aus GetIt) installiert?

Ja

Zitat:

Zitat von MEissing (Beitrag 1494758)
- Wurde das selbstgeschriebene Paket (BPL) in der EMSSERVER.INI eingetragen? Danach Neustart vom IIS?
C:\Benutzer\Öffentlich\Öffentliche Dokumente\Embarcadero\EMS

Code:
[Server.Packages]
;# This section is for extension packages.
;# Extension packages are used to register custom resource endpoints
;c:\mypackages\basicextensions.bpl=mypackage description

Ja, ich war sogar so frei und habe im Bereich Server.Logging einen Pfad angegeben. In dem Log sehe ich auch das versucht wird die BPL zu laden. Aber das wars, mehr kommt nicht. Kein Fehler im Log, Kein error, nothing :|

MEissing 14. Sep 2021 10:56

AW: Rad Server - IIS Installtion will einfach nicht laufen
 
Dann mal mit dem Support zusammenarbeiten.

fisipjm 16. Sep 2021 06:56

AW: Rad Server - IIS Installtion will einfach nicht laufen
 
Darf man zwischendurch mal seinem Frust ein bissel Luft machen? Der Support ist echt Ätzend und ich bin normal kein ungeduldiger Mensch.

Wir hatten bisher noch nie den Support bemühen müssen, deshalb auch noch kein Zugang zu dem Support-Portal. Wir haben es nach geschlagenen 2 Tagen noch nicht geschafft einen Zugang zu erhalten, trotz gültiger Lizenzen mit Software-Pflegevertrag. Dank Zeitverschiebung und spärlichen Infos wer was wie darf und wie es laufen muss. Da sollte man sich konzeptionell dringend überlegen ob das nicht irgendwie einfacher bzw. schneller geht. 2 Tage ohne auch nur unser Anliegen anbringen zu können.
Ich warte weiter und melde mich wieder falls mir geholfen werden konnte....:pale:

MFG
PJM

fisipjm 12. Okt 2021 10:23

AW: Rad Server - IIS Installtion will einfach nicht laufen
 
Hallo Herr Eissing,

mal eine doofe Frage. In dem Video https://www.youtube.com/watch?v=NculJwVfKKA zeigt der Kollege, wie man eine FDQuery ganz easy über die Batchmove Komponenten publizieren kann. Haben Sie das schon mal gemacht und dann auch tatsächliche auf dem IIS zum laufen gebracht? Ich bekomme es nicht hin. Auch nicht mit einem kompletten Demoaufbau.

beste Grüße
PJM

MEissing 12. Okt 2021 10:44

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....

fisipjm 13. Okt 2021 09:42

AW: Rad Server - IIS Installtion will einfach nicht laufen
 
Zitat:

Zitat von MEissing (Beitrag 1495966)
Und wo klemmt's?

Die Fehlerbeschreibung, die Schritte zum Nachvollziehen und/oder die Fehlermeldungen müssen im Posting unsichtbar sein....

Sorry, bin von hellseherischen Fähigkeiten aus gegangen :-D
Das Package lädt, es reagiert, es liefert nur keine Daten. lässt man sich jedoch mit
z.B.
Delphi-Quellcode:
TEMSEndPointEnvironment.Instance.LogMessage(fdquery.recordcount.tostring);
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)
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.

fisipjm 13. Okt 2021 13:57

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;

fisipjm 13. Okt 2021 15:39

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;

haentschman 14. Okt 2021 05:35

AW: Rad Server - IIS Installtion will einfach nicht laufen
 
Moin...:P
Zitat:

Bitte mal drüber zu fliegen ob man dass so lassen kann
Alles Kosmetik...

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:

fisipjm 14. Okt 2021 07:32

AW: Rad Server - IIS Installtion will einfach nicht laufen
 
Zitat:

Zitat von haentschman (Beitrag 1496030)
Moin...:P
Zitat:

Bitte mal drüber zu fliegen ob man dass so lassen kann
Alles Kosmetik...

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:

Moin :-), von Clean Code mal abgesehen. Ich tippe natürlich nicht ohne Codevervollständigung. Dass Assigend hat es allerdings erst hier im Forum rein geschafft, weil ich mir beim überfliegen vor dem Abschicken noch gedacht hab, dass das ganz praktisch wäre um Zugriffsverletzungen zu vermeiden :stupid:

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:

haentschman 14. Okt 2021 07:55

AW: Rad Server - IIS Installtion will einfach nicht laufen
 
8-)

stephancramer 15. Okt 2021 14:13

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

Uwe Raabe 15. Okt 2021 15:34

AW: Rad Server - IIS Installtion will einfach nicht laufen
 
Zitat:

Zitat von stephancramer (Beitrag 1496134)
Hat sich eigentlich der RAD-Server geändert?

Der RAD-Server ändert sich mit jeder Delphi Version. Da er ja Delphi-Packages (bpl) verwendet, muss die Version mit denen die Packages compiliert werden zu der RAD Server Version passen. Daher ist die Verwendung eines LIBSUFFIX bei den Packages sehr zu empfehlen. Am besten einen Automatismus verwenden (z.B.
Delphi-Quellcode:
$(Auto)
oder Project Magician)

stephancramer 16. Okt 2021 12:06

AW: Rad Server - IIS Installtion will einfach nicht laufen
 
Danke für die Antwort. Ist es besser den RAD-Server zu deinstallieren bevor ich den neuen installiere?

Was ist mit den anderen Fehler?
C:\ProgramData\Embarcadero\Interbase\gds_db\EMSMSE RVERVER133.IB

Gruß Stephan

MEissing 16. Okt 2021 15:49

AW: Rad Server - IIS Installtion will einfach nicht laufen
 
Die InterBase DB Datei kann man ja in der EMSSERVER.INI bestimmen/angeben.

stephancramer 18. Okt 2021 06:56

AW: Rad Server - IIS Installtion will einfach nicht laufen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Herr Eißing,

in der emsserver.ini ist der Pfad wie vorher, sie ist auch vom 10.08.2021 das ist das Datum wo ich Delphi 10.4 installiert habe. Am Freitag den 15.10.2021 habe ich Delphi 11 installiert, das heißt diese Datei wurde nicht aktualisiert.
Ich habe auch mein komplettes C: nach den String EMSMSERVER133.IB durchsucht und nichts gefunden.

Ich habe mal ein Bild im Anhang.

Mfg Stephan Cramer

MEissing 18. Okt 2021 08:52

AW: Rad Server - IIS Installtion will einfach nicht laufen
 
Dann wird eine andere EMSSERVER referenziert. Am besten mit dem Support klären.

Was steht denn unter
HKEY_LOCAL_MACHINE\SOFTWARE\Embarcadero\EMS

stephancramer 18. Okt 2021 09:03

AW: Rad Server - IIS Installtion will einfach nicht laufen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Den Eintrag habe ich gar nicht. Bild im Anhang.

stephancramer 18. Okt 2021 09:08

AW: Rad Server - IIS Installtion will einfach nicht laufen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Steht bei mir unter HKEY_CURRENT_USER\SOFTWARE\Embarcadero\EMS\EMSDevS erver

MEissing 18. Okt 2021 12:13

AW: Rad Server - IIS Installtion will einfach nicht laufen
 
Dann ist kein RAD Server installiert ("Vollversion"), sondern nur der Development RAD Server

Installation von GetIt? Äquivalent zu
https://getitnow.embarcadero.com/RAD...indows-11-1.0/

stephancramer 18. Okt 2021 12:18

AW: Rad Server - IIS Installtion will einfach nicht laufen
 
Ich habe es hinbekommen.
Habe die emsserver.ini gelöscht, dann wird die neu erzeugt und alles ist gut.


Den Produktivserver habe ich zuerst in eine neue VM 2019 installieren wollen, das funktioniert aber nicht wegen der Seriennummer. Darauf hin habe ich es drüber installiert.

Danke für die Hilfe.

fisipjm 7. Dez 2021 15:08

AW: Rad Server - IIS Installtion will einfach nicht laufen
 
nach einiger Zeit ein kleiner recap zum Thema RAD Server.

RAD Server an sich, ne feine Sache, denke gerade jetzt auch mit der neuen Lite Version in Delphi 11 die man sich kurzzeitig reservieren konnte (und noch kann) ist das denke ich der way to Go für viele Delphi Entwickler die bisher wenig bis gar keine Erfahrungen mit dem Webdeploy hatten.
Nach ein paar Tourtorials (nicht zu letzt mit Herr Eising :) ) ist man recht gut aufgestellt um die meisten Anforderungen abzudecken
- Video RadServer IIS - Installation und kleine Demo(Deutsch)
- Demo Projekt inkl. deploy + Tipps und Tricks, mit vorsicht genießen (Englisch)
- RadServer beyond the Basics (Englisch)
- RAD Server Basic Authentication and Authorization (Englisch)

!Wichtig!
In meinem Projektverlauf habe ich eins sehr schmerzhaft lernen müssen, was im RADServerDevelopment umfeld funktioniert ist nicht zwingend in der Live Umgebung lauffähig. Dazu gehört unter anderem alles was auf den Namen "Batchmove" hört, Tickets bei Emba verschwinden leider im Nirvana oder werden mit irgenwelchen internen Tickets zusammen gemorpht wodurch ich dann den weitern Bearbeitungsverlauf nicht mehr sehe. Aktueller Status Delphi 11 mit Patch, Batchmove weiterhin nicht Lauffähig unter IIS.

Deshalb hier mein vorgehen bei allen kommenden RadServer Projekten.
- IIS Express installieren
- Installation der LiveUmgebung in eurem Developmentsystem (Ja die Lizenz ist damit verballert, ja ihr müsst Sie wieder freigeben lassen wenn ihr es dann im LiveSystem laufen lassen wollt - Die Jungs von Emba sind da aber recht flott)
- Debugger Infos in eurem Server Projekt anpassen auf:
-- Host anwendung = C:\Program Files\IIS Express\iisexpress.exe
-- Parameter = /path:c:\radserver
- Im IISExpress die ISAPI Module zulassen
- Je nach Anforderung noch POST/PUT/DELETE/PATCH für den IIS express freischalten
- In EMSServer.ini eure BPL eintragen

Ab diesem Zeitpunkt könnt ihr lokal mit dem IIS express entwickeln und euch zumindest halbwegs sicher sein, dass die Entwicklung dann auch im Live-System funktioniert. Debugging ist auch möglich.

Weitere Ergänzungen sind absolut erwünscht!

Grüße
PJM


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:08 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz