stefan_brauneis
I'm new here

Automatisierte Installation einer GlobalWebApp

Hallo zusammen,

FirstSpirit-Version: 5.2.212.71463

für einen automatisierten Testfall möchte ich eine GlobalWebApp auf dem FS-Server per API anlegen. Dazu habe ich folgende Sequenze von API-Aufrufen verwendet.

(Snippet):

ModuleAdminAgent moduleAdminAgent;

...

ServerConfiguration serverConfiguration = connection.getServerConfiguration();

serverConfiguration.setSelectedWebserverConfiguration(GLOBAL_WEB_APP_NAME,CONFIG_INTERNAL_JETTY);

serverConfiguration.save();

serverConfiguration.setActiveWebserverConfiguration(GLOBAL_WEB_APP_NAME, CONFIG_INTERNAL_JETTY);

serverConfiguration.save();

moduleAdminAgent.installWebApp(MODULE_NAME, WEB_COMPONENT_NAME,globalWebApp);

moduleAdminAgent.deployWebApp(globalWebApp);

Wenn ich das so mache, dann sieht es im Server-Manager so aus, als wäre die WebApp korrekt angelegt und deployt. Allerdings kann ich die so nicht aufrufen und ich kann dies nur reparieren, in dem ich die WebApp nochmal komplett lösche und im Server-Manager neu anlege.

Gibt es eine Möglichkeit, dies per API zu machen oder reicht die aktuelle API dafür nicht aus?

Ggf. würde mir auch eine Aktualisierung der WebApp genügen. Hier habe ich aber auch keine passenderen Methoden im ModuleAdminAgent gefunden.

Ist eine Aktualisierung und deployment einer GlobalWebApp per API möglich?

Schöne Grüße

Stefan Brauneis

0 Kudos
3 Replies
marza
I'm new here

Hallo Stefan,

rein vom Klick-Pfad her hätte ich folgendes gemacht:

          ModuleAdminAgent moduleAdminAgent;

         ...

         moduleAdminAgent.installWebApp(MODULE_NAME, WEB_COMPONENT_NAME,globalWebApp); //1

         ServerConfiguration serverConfiguration = connection.getServerConfiguration();

         serverConfiguration.setSelectedWebserverConfiguration(GLOBAL_WEB_APP_NAME,CONFIG_INTERNAL_JETTY); //2

         serverConfiguration.save();

         serverConfiguration.setActiveWebserverConfiguration(GLOBAL_WEB_APP_NAME, CONFIG_INTERNAL_JETTY); //3

         serverConfiguration.save();

         final boolean success = moduleAdminAgent.deployWebApp(globalWebApp); //4

1) Web-App angelegt

2) & 3) Web-Server auswählen und aktivieren

4) WebApp installieren

-> sucess ist dann true

Leider komme ich zu dem selben Ergebnis, die WebApp ist physikalisch vorhanden, wird aber nicht gefunden (HTTP 404). Über den ServerManager ist das problemlos möglich. Es könnte ein Bug sein, deshalb wende Dich bitte an unseren TechnicalSupport.

Beste Grüße Marian

0 Kudos
witt
I'm new here

Hallo Stefan,

ich tippe mal darauf, dass hier ein Problem in der Reihenfolge vorliegt:

Connection connection = ConnectionManager.getConnection("localhost",8077, ConnectionManager.HTTP_MODE,"Admin","Admin");
connection.connect();

ModuleAdminAgent adminAgent = connection.getBroker().requestSpecialist(ModuleAdminAgent.TYPE);
GlobalWebAppId globalWebAppId = adminAgent.createGlobalWebApp("MY_GLOBAL_WEBAPP","/my_global_webapp","My Global WebApp");


ServerConfiguration serverConfiguration = connection.getServerConfiguration();
serverConfiguration.setActiveWebserverConfiguration(globalWebAppId.getGlobalId(), "InternalJetty");
serverConfiguration.save();

adminAgent.deployWebApp(globalWebAppId);

connection.close();
connection.disconnect();

1) Zuerst musst die GlobalWebAppId erzeugen

Die Paremeter hier lauten "Name der WebApp", "Content-Name" und "Beschreibung

2) Danach musst du den ausgewählten Server hinzufügen und speichern

In meinem Fall hole ich mir die erzeugte WebAppId und setze hier den internen Jetty

3) Danach erst kannst du die WebApp deployen über die vorher erzeugte WebAppId

=> Bei mir läuft das problemlos mit 5.2.214.71608. Ich hatte den Test aber auch schon unter kleineren Versionen ausgeführt.

Gruß,

Daniel


0 Kudos

Hallo Daniel,

also ich habe jetzt auch diese Reihenfolge ausprobiert. Ich erhalte aber das gleiche Ergebnis, so wie auch Marian da beschrieben hat:

Die WebApp ist im Dateisystem vorhanden, kann aber nicht auferufen werden (404).

Möglicherweise liegt das doch an der FS-Version?

Schöne Grüße

Stefan

0 Kudos