ampersand83
I'm new here

Form Edit: fs-formlogger.ini wird nicht erzeugt

Ich versuche jetzt schon seit geraumer Zeit ein simples Kontaktformular mit Form Edit aufzusetzen, aber ich bekomme es einfach nicht hin.

Mit Hilfe eines Mail Loggers soll der Inhalt des Formualrs per Mail verschickt werden.

Ich bin genau nach der Doku vorgegangen, habe in den Datenquellen einen Maillogger angelegt, eine Seite auf Basis des Templates formLoggersIni erzeugt und in das Feld "modifiziere form start Templates" die ID der Form Start Absatzvorlage (hier 44) eingetragen. Schaue ich mir Fehler der Vorschau an, wird mir nichts angezeigt.

Nach der Generierung des Projekts steht aber absolut nichts in der fs-formlogger.ini Datei und kaum klicke ich auf den Submitbutton des Formulars erhalte ich die Fehlermeldung :

javax.servlet.ServletException: Missing ini parameter: loggers

de.espirit.firstspirit.opt.formedit.FormServlet.loadLoggers(FormServlet.java:140)

de.espirit.firstspirit.opt.formedit.FormServlet.init(FormServlet.java:107)

javax.servlet.GenericServlet.init(GenericServlet.java:212)

org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)

org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)

org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200)

org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291)

org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:775)

org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:704)

org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:897)

org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)

java.lang.Thread.run(Thread.java:619)

Ich wäre über jegliche Art von Hilfe oder Hinweis sehr dankbar.

Gruß,

Stefan

0 Kudos
14 Replies

Ich habe jetzt alles nochmal neu installiert. Anscheinend waren da doch noch Template Überbleibsel von einer älteren Version.

Jetzt wird die fs-formlogger.ini erzeugt. Der Inhalt sieht folgendermaßen aus:

loggers=KontaktLogger

loggers.kontakt=KontaktLogger

KontaktLogger.class=de.espirit.firstspirit.opt.formedit.MailLogger

KontaktLogger.smtpHost=localhost

KontaktLogger.encoding=UTF-8

KontaktLogger.mailTemplatePath=/de/internetportal/sonstiges/kontakt/kontaktmailer.htm

Bei absenden des Formulars erhalte ich dennoch eine Fehlermeldung:

javax.servlet.ServletException: Servlet.init() for servlet fsfe-FormLogger threw exception

org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)

org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)

org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200)

org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291)

org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:775)

org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:704)

org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:897)

org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)

java.lang.Thread.run(Thread.java:662)

root cause

java.lang.NoClassDefFoundError: de/espirit/common/Logging
     de.espirit.firstspirit.opt.formedit.MailLogger.init(MailLogger.java:100)
     de.espirit.firstspirit.opt.formedit.FormServlet.initLoggers(FormServlet.java:187)
     de.espirit.firstspirit.opt.formedit.FormServlet.loadLoggers(FormServlet.java:142)
     de.espirit.firstspirit.opt.formedit.FormServlet.init(FormServlet.java:107)
     javax.servlet.GenericServlet.init(GenericServlet.java:212)
     org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
     org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
     org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200)
     org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291)
     org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:775)
     org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:704)
     org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:897)
     org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
     java.lang.Thread.run(Thread.java:662)



Sieht ja so aus als fehle da eine Klasse. Mehr als die entsprechenden jar Files auf den Server spielen kann ich jetzt ja aber nicht machen. Irgendeine Idee, was jetzt schon wieder diesen Fehler verursacht?

0 Kudos

Sind die entsprechenden Jars den auf den Server kopiert worden und aktuell. In der angegeben Modulversion sind die klassen enthalten. Habe ich gerade extra nachgeschaut. Ist in der datei fs-base-logging.jar enthalten.

0 Kudos

Ich habe die jars jetzt noch von Hand auf den Server kopiert. In dem WAR File was ich heruntergeladen habe und auf dem Server eingespielt habe waren sie interessanterweise nicht drin. Jetzt komme ich zwar einen Schritt weiter lande aber jetzt immer auf der Fehlerseite, was ja heißt, dass etwas mit dem senden der Mail nicht klappt. Leider finde ich diesbezüglich keine Einträge im Logfile des Tomcat. Macht das entsprechende Servlet keine Loggingausgaben oder wenn ja, wie komme ich an diese ran. Würde ja schon gerne sehen was der Fehler ist.

0 Kudos

Dann habe ich noch das Problem, dass anscheinend das FormEdit Servlet, wenn es den Redirect nach dem Absenden des Formulars macht eine absolute URL aufruft. Dies ist sonst wahrscheinlich nicht so schlimm, aber da unser Hoster im Apache den Namen der Webapp aus der URL gefiltert hat sorgt dies für Probleme, denn das Servlet versucht die Erfolgs- oder Fehlerseite mit einer URL mit dem Namen der Webapp in der URL aufzurufen, was dann natürlich zu einem Fehler im Server führt, da ja Seiten mit dem Webapp Namen in der URL nicht mehr erkannt werden.

Mache ich hier an dieser Stelle einfach etwas falsch oder kann ich die Form der Redirect URL in irgend einer Weuse beeinflussen? Da ich an dieser Stelle einfach nicht weiter komme, wäre ich für einen entsprechenden Hinweis was ich machen könnte sehr dankbar.

0 Kudos

Wenn ihr Hoster die Webapp aus der Url filtert, wieso passiert dies dann nicht auch für die Urls der OK und Error Seiten? Das wäre jedenfalls der Lösungsansatz. Das FormEdit Servlet baut die aus seiner Sicht passenden Urls zusammen, sofern diese durch Filter manipuliert werden, muss das auch für die Redirect-Seiten passieren.

0 Kudos