Questions & Answers

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

Type a product name