fbachner
I'm new here

FormEdit Fehler "contextPath is null or empty"

Jump to solution

Hallo Zusammen,

sind gerade dabei FormEdit im FirstSpirit 5.2 zu implementieren, bekommen aber beim Absenden immer folgenden Fehler.

org.apache.catalina.core.StandardWrapperValve.invoke Servlet.service() for servlet [fsfe-FormLogger] in context with path [] threw exception

java.lang.IllegalArgumentException: contextPath is null or empty

        at de.espirit.firstspirit.opt.formedit.util.ServletUrlCreator.<init>(ServletUrlCreator.java:23)

        at de.espirit.firstspirit.opt.formedit.FormServlet.doPost(FormServlet.java:355)

        at javax.servlet.http.HttpServlet.service(HttpServlet.java:648)

        at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)

        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)

        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)

        at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)

        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)

        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)

        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)

        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)

        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)

        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)

        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)

        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:522)

        at org.apache.coyote.ajp.AbstractAjpProcessor.process(AbstractAjpProcessor.java:868)

        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672)

        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1502)

        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1458)

        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

        at java.lang.Thread.run(Thread.java:745)

Hat hierzu jemand evtl. eine Idee an was es liegen könnte?

Gruß

Felix Bachner

0 Kudos
1 Solution

Accepted Solutions

Guten Morgen Tobias,

habe gestern von e-spirit mitgeteilt bekommen, dass in der aktuellen Version (5.11.310) des Moduls ein Bug vorliegt.

Mir wurde eine angepasste Version der .jar geschickt und nun funktioniert alles wieder wie gewohnt.

Das Wechseln auf eine ältere Version hätte wahrscheinlich auch funktioniert.

Trotzdem vielen Dank an alle Unterstützer!

Gruß

Felix

View solution in original post

0 Kudos
11 Replies
marza
I'm new here

Hallo Felix,

in welchem Zusammenhang tritt der Fehler auf? In einer deployten Web-Anwendung oder in der Preview?

Allem Anschein nach handelt es sich hier im einen Konfigurationsfehler.

Grüße Marian

0 Kudos

Hallo Marian,

tritt in der deployten Web-Anwendung auf. Wir gehen auch von einer Fehlkonfiguration aus, finden den Fehler aber nicht.

Gruß

Felix

0 Kudos

Hallo Felix,

welche genaue FirstSpirit- und FormEdit-Version verwendet ihr?

Gruß

Tim

0 Kudos

Guten Morgen Tim,

FirstSpirit 5.2.422.73933

FormEdit 5.11.310

Gruß

Felix

0 Kudos

Hallo Felix,

mit welchem Context-Pfad startet ihr die Webanwendung? Normaler wird die Web-Anwendung in /meineWebApp gestartet oder vielleicht einfach nur /. Wenn der Context-Pfad im ServletContext null oder lerer (leerer String) ist, kommt es zu dieser Exception. Eigentlich fällt mir im Moment kein Szenario ein, wo das der Fall ist. Lässt man eine Web-App im Root des Tomcat laufen, hat diese immer den Context-Pfad /.

Falls aus irgendwelchen Grund das bei euch so ein muss, brauchen wir eine genaue Beschreibung des Use Cases. Ihr meldet euch dann einfach bei unserem Technical Support (https://help.e-spirit.com) mit Verweis auf dieses Posting.

Grüße Marian

0 Kudos

Hallo Marian,

ich habe nun einmal in der context.xml (Tomcat 😎 einen expliziten contextPath angegeben.

<Context path="/">

.

.

.

.

</Context>

Leider mit dem selben Ergebnis. Jetzt sollte ja zumindest ein anderer Fehler geworfen werden, oder?

Ist die Stelle in der context.xml evtl. die falsche?

Gruß Felix

0 Kudos

Hallo Felix,

ich glaube Du bist an der falschen Stelle unterwegs. Auf Seite 13 (gehört zu Kapitel 2.3.1) der FormEdit-Dokumentation steht, dass der Pfad der Form-Logger-Ini relativ zum vorhanden Web-App-Context-Pfad zu verstehen ist. Man kann hier aber auch einen absoluten Pfad mit http://... angeben.

Die Frage ist, was Du im Generierungsauftrag angegeben hast. Eigentlich sollte der URL-Präfix hier ein absoluter sein, aber wir haben Kunden, für die hier ein Verzeichnisname oder nichts eingetragen werden muss.

Ist das der Fall, kann es sein, dass FormEdit die Möglichkeiten ausgehen, geschickt zu "erraten", wo die Konfiguration liegt. Ist der dort eingetragene Präfix gleich dem WebApp-Context-Root, so erkennt FormEdit das und ignoriert es. Andernfalls wird er einfach davor gesetzt und es versucht die Datei zu lesen.

Bitte beantworte folgende Fragen, damit wir Dir weiterhelfen können:

- Was habt ihr dort als URL-Präfix im Auftrag stehen?

- Die Form-Logger-Ini ist auch im Generierungszeichnis vorhanden? Möglicherweise wird die Datei während der Generierung nicht referenziert und somit nicht rezeugt.

Grüße Marian

0 Kudos

Hallo Marian,

die Form-Logger-Ini findet er. Geb ich hier einen fiktiven Pfad ein meckert er, dass er die Ini nicht finden kann.

Die Datei wird auch generiert und ist im Verzeichnis vorhanden.

Im Generierungsauftrag ist in "Präfix für absolute Pfade" nichts hinterlegt. Genauso wie im "pathPräfix" der FormEdit Konfiguration.

Gruß

Felix

0 Kudos

Hallo Felix,

wir haben bei der Kombination von FirstSpirit 5.2.422 mit FormEdit 5.11 den gleichen Fehler:

de.espirit.firstspirit.opt.formedit.util.ServletUrlCreator.<init>(ServletUrlCreator.java:23)

Wir haben deswegen die formedit-lib.jar in unseren Webapplikationen wieder auf die Version 5.9 zurückgerollt: damit tritt der Fehler nicht auf!

Es hat definitiv nichts mit dem Ort oder dem Pfad zur fs-formlogger.ini zu tun, in die Logs wird geschrieben, dass die FormLogger erfolgreich geladen werden.

Irgendetwas muss sich mit der Version 5.11 geändert haben.

Die FormEdit-Doku stammt vom 18.05.2015, so dass hier nicht zu erfahren ist, ob man etwas an der Konfiguration der Formulare ändern muss. Auch die ReleaseNotes zu 5.11 helfen nicht weiter.

Viele Grüße

Tobias