marcfr
Elite Observer

Liferay-Anbindung

Hallo zusammen,

ich versuche gerade ein Liferay-Portal an FirstSpirit anzudocken. Dabei stolpere ich gerade in der Doku über folgende Zeile: liferayClient="C:/Programme/FirstSpirit4/lifespirit.jar";

-> muss dieser Liferay-Client erst noch selbst geschrieben werden?

Grüße,

Marc

0 Kudos
7 Replies
MichaelaReydt
Community Manager

Hallo Marc,

nein, dieser Liferay-Client muss nicht selbst geschrieben werden.Er wird in Form der lifespirit.jar mit ausgeliefert. Diese jar-File muss in einem für FirstSpirit zugreifbaren Ordner (somit optimalerweise im FS-Verzeichnis) abgelegt werden. An der von Dir zitierten Stelle aus der Dokumentation wird dann nur der entsprechende Pfad angegeben.

Ein wenig ausführlicher ist dies im zugehörigen Installation Guide in Kapitel 2.3 erklärt.

Viele Grüße

Michaela

Hallo Michaela,

nur wo bekomme ich diese  lifespirit.jar  her?

Viele Grüße,

Marc

0 Kudos

Hallo Marc,

sry, das hätte ich auch direkt dazu schreiben können. Mein Fehler.

Die jar-File kann bei unserem Helpdesk angefordert werden.

Viele Grüße

Michaela

0 Kudos

Hallo,

die lifespirit.jar habe ich nun. Ich habe jetzt entsprechend alles der Anleitung nach eingerichtet.

Das Liferay-Portlet habe ich entsprechend deployt und wird anschließend unter /usr/share/tomcat/webapps/LifeSpirit-portlet/ abgelegt.

Laut Doku sollte folgender Aufruf funktionieren:

java -jar lifespirit.jar 10131 test test@liferay.com test localhost:8080/LifeSpirit/secure/axis/ c:\Projekte\eSpirit\liferayportal-6.0.5\tomcat-6.0.26\webapps\firstspirit\ test8 true 7 false

=> Wenn ich jedoch die URL  localhost:8080/LifeSpirit/secure/axis  aufrufe, dann wird das Liferay-Portal entsprechend im Browser angezeigt mit der Meldung:

Not Found

The requested resource was not found.


http://localhost:8080/LifeSpirit/secure/axis

Rufe ich jedoch http://localhost:8080/LifeSpirit-portlet/LifeSpirit im Browser auf, dann erhalte ich einen 500-Fehler:

HTTP Status 500 - java.lang.NullPointerException

Rufe ich http://localhost:8080/api/axis auf, dann erhalte ich nun eine ClassNotFoundException: Could not find class for the service named: de.usu.lifespirit.webservice.ImportServiceSoap.

->  Diese Klasse liegt im Verzeichnis    /usr/share/tomcat/webapps/LifeSpirit-portlet/WEB-INF. Das eigentliche Liferay liegt jedoch in /usr/share/tomcat/webapps/ROOT/.

Welches wäre denn nun die richtige URL für den Aufruf?

Hatte schon mal jemand ein ähnliches Problem und konnte es lösen?

Grüße,

Marc

0 Kudos
boesebeck
Crownpeak employee

Hallo,

eine zwischen Frage. Läuft Ihr Liferay Server denn auch auf dem gleichen Server wie der FirstSpirit Server?

Gruß

Gerrit Bösebeck

0 Kudos

Hallo,

der Liferay-Server läuft auf einem anderen Server als der FirstSpirit-Server.

Mittlerweile bin ich jedoch einen Schritt weiter.

Bei Ausführen des Auftrags "Liferay Deployment Public" im Mithras-Liferay-Demo-Projekt wird mir im Skript "activatePortal" ein Fehler angezeigt:

ERROR 04.11.2013 10:24:50.960 {seID=385268} (de.espirit.firstspirit.impl.access.ScriptContextImpl): Fehler beim Aktualisieren des Liferay.

ERROR 04.11.2013 10:24:50.960 {seID=385268} (de.espirit.firstspirit.impl.access.ScriptContextImpl): /opt/firstspirit4/lifespirit.jar 10153 test test@liferay.com test localhost:8080/api/axis/ /usr/share/tomcat/webapps/ROOT/test  FirstSpirit false 7 true

Wenn ich den Befehl "java -jar /opt/firstspirit4/lifespirit.jar 10153 test test@liferay.com test localhost:8080/api/axis/ /usr/share/tomcat/webapps/ROOT/test  FirstSpirit false 7 true" jedoch auf der Console mit dem User "fs4" ausführe, dann erhalte ich jedoch keine Fehlermeldung, stattdessen kommt nun so etwas zurück:

00000142-226a-6e96-0000-0142226a6e96

Der Java-Path im Skript "activatePortal" scheint korrekt angegeben zu sein:

  javaPath = "/usr/java/latest/bin/java";

  ...

  Process p = new ProcessBuilder(cmd).start();

  InputStream is = p.getInputStream();

  StreamCapture stdout = new StreamCapture(p.getInputStream(), true);

  StreamCapture stderr = new StreamCapture(p.getErrorStream(), true);

  stdout.start();

  result = p.waitFor();

  if ( result == 0 ) {

    context.logInfo("Liferay Deployment erfolgreich aktualisiert.");

  } else {

    context.logError("Fehler beim Aktualisieren des Liferay: " + result);

    context.logError("" + liferayClient + " " + companyId + " " + screen + " " + username + " " + password + " " + webserviceUrl + " " + deploymentDestination + "  " + communityName + " " + privateFlag + " " + mode + " " + overwrite);

  }

--> p.waitFor() liefert als Rückgabewert 255.

Grüße,

Marc Friedemann

0 Kudos
boesebeck
Crownpeak employee

Hallo Marc,

die genaune Fehelrmeldung warum es nicht im Liferay anelegt wurde müsste sich in der lifespirit.log im Liferay befinden. Sollte dieser nicht eindeutig sein, dann erstelll mit den Logfiles ein Ticket bei uns im Helpdesk.

Gruß

Gerrit