- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
FormEdit: IniFile wird nicht gefunden
Hallo zusammen,
ich verzweifle gerade an der Integration des FormEdit-Moduls. CMS-Seitig scheint alles zu funktionieren.
Das Formular wird korrekt als HTML generiert, das Servlet ist in der Formular-Action eingetragen.
Beim Abschicken des Formulars leitet das System immer auf die error.jsp weiter. Im Server-Log (in unserem Fall ein Tomcat), bekomme ich als einzigen Hinweis "WARN 2012-07-01 19:58:20,515 (de.espirit.firstspirit.opt.formedit.FormServlet) Ini file not exists, using empty default"
Die IniDatei exisitiert jedoch. Der Inhalt der fs-formedit.ini
#FirstSpirit FormEdit - configuration.
#Sun Jul 01 17:09:22 CEST 2012
formEncoding=UTF-8
captchaWidth=100
errorRedirect=error.jsp
captchaChars=6
captchaHeight=50
iniFile=de/tools/fs_formlogger.ini
pathPrefix=
okRedirect=ok.jsp
Der Inhalt der generierten "fs_formlogger.ini" lautet:
loggers=ContactLogger
loggers.Kontakt=ContactLogger
ContactLogger.class=de.espirit.firstspirit.opt.formedit.MailLogger
ContactLogger.mailTemplatePath=/de/tools/kontakt/mailtemplate_kontakt.htm
ContactLogger.smtpHost=localhost
Das Formular soll im ersten Schritt nur die Formularinhalte per Mail verschicken. Das ini-File ist im angegebenen Pfad unterhalb des Webapp-Ordners erreichbar (parallel zu WEB-INF).
Scheinbar wird der Pfad zur fs_formlogger.ini der ini-Datei nicht korrekt verarbeitet. Ich habe bereits verschiedene Varianten durchgespielt: Sowohl der Dateipfad als auch der HTTP-Pfad jeweils absolut und relativ haben keinen Erfolg gebracht.
Wie mรผsste der Pfad korrekt lauten? Liegt der Fehler evtl. an ganz anderer Stelle?
Vielen Dank und viele Grรผรe,
Martin Brandt
- Labels:
-
Developers
-
Knowledgebase
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Herr Brandt,
wie ist denn die Struktur im Tomcat? Gibt es einen Context, in dem der Auftritt landet?
Dann geben Sie bitte "/contextname" als pathPrefix und "/contextname/de/tools/fs_formlogger.ini" als iniFile dem FormLogger-Servlet an.
Viele Grรผรe,
Raphael Richter.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo zurรผck,
wie ist denn der Inhalt der web.xml (bzw. die FormEdit-spezifischen Eintrรคge)?
Vielen Dank und Grรผรe,
Raphael Richter.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Herr Richter,
der relevante Teil der web.xml lautet:
<servlet>
<servlet-name>fsfe-FormLogger</servlet-name>
<servlet-class>de.espirit.firstspirit.opt.formedit.FormServlet</servlet-class>
<init-param>
<param-name>pathPrefix</param-name>
<param-value/>
</init-param>
<init-param>
<param-name>iniFile</param-name>
<param-value>/de/tools/fs_formlogger.ini</param-value>
</init-param>
<init-param>
<param-name>okRedirect</param-name>
<param-value>ok.jsp</param-value>
</init-param>
<init-param>
<param-name>errorRedirect</param-name>
<param-value>error.jsp</param-value>
</init-param>
<init-param>
<param-name>formEncoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<load-on-startup>0</load-on-startup>
</servlet>
Viele Grรผรe,
Martin Brandt
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Herr Brandt,
wie ist denn die Struktur im Tomcat? Gibt es einen Context, in dem der Auftritt landet?
Dann geben Sie bitte "/contextname" als pathPrefix und "/contextname/de/tools/fs_formlogger.ini" als iniFile dem FormLogger-Servlet an.
Viele Grรผรe,
Raphael Richter.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Herr Richter,
der Tip mit dem PathPrefix war super. Scheinbar wird die Ini-Datei nun gezogen. Leider bekomme ich nun eine neue Fehlermeldung zum Mailtemplate:
ERROR 2012-07-02 20:02:21,640 (de.espirit.firstspirit.opt.formedit.FormServlet) Logger 'ContactLogger' error: No recipient defined in mailtemplate!
java.io.IOException: No recipient defined in mailtemplate!
at de.espirit.firstspirit.opt.formedit.MailLogger.log(MailLogger.java:220)
at de.espirit.firstspirit.opt.formedit.FormServlet.doPost(FormServlet.java:340)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at de.espirit.firstspirit.acl.servlet.MultiAccessControlFilter.doFilter(MultiAccessControlFilter.java:100)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:662)
ERROR 2012-07-02 20:02:27,500 (de.espirit.firstspirit.opt.formedit.MailLogger) Mail template file not found: /de/tools/kontakt/mailtemplate_kontakt.htm
WARN 2012-07-02 20:02:27,525 (de.espirit.firstspirit.opt.formedit.FormServlet) Ini file not exists, using empty default
Das Mailtemplate ist unter der URL "/de/tools/kontakt/mailtemplate_kontakt.htm" erreichbar. Dennoch meldet das Log-file das Gegenteil.
Hier der Inhalt des Mailtemplates:
Reply-To: no-reply@ourdomain.de
Sender: %email%
Subject: feedback Webseite
Attachements: %all%
Hallo,
ein neues Feedback wurde auf der Weseite abgegeben:
%date%-%time%
%name%
%email%
%anschrift%
%feedback%
Ist es sinnvoll fรผr diesen Fehler ein neues Ticket zu รถffnen oder darf ich es in diesem Ticket weiterverfolgen?
Vielen Dank und viele Grรผรe,
Martin Brandt
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Herr Brandt,
haben Sie auch hier einmal mehrere Pfadangaben versucht? Also
/content/de/tools/kontakt/mailtemplate_kontakt.htm
oder den kompletten Dateipfad?
Viele Grรผรe,
Raphael Richter.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Herr Richter,
ich habe auf Ihren Hinweis hin den gesamten Tomcat Pfad (der aber per Rewrite-URL vom Apache verarbeitet wird) eingetragen. Damit funktioniert das Formular. Allerdings wird diese URL nicht vom CMS generiert, so dass bei einer Neugenerierung das Formular nicht funktionieren wird. Kann man fรผr das Mailtemplate einen Prรคfix definieren?
Im Log-File bekomme ich nun eine spannende neue Meldung "Attention the form ("Kontakt") couldn't allocate to a specific logger! Your mail will be send to default loggers".
Im CMS ist das Formular wie im Screenshot mit einem Logger versehen.
Kรถnnten Sie mir bitte auch hier nochmal weiterhelfen?
Viele Grรผรe,
Martin Brandt
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo,
das was in der web.xml als PathPrefix eingestellt wird, wird vor den Pfad zum Mailtemplate gesetzt. Der Pfad zur loggers.ini muss das Prefix auch beinhalten.
Path Prefix:
In diesem Feld ist ein Prefix anzugeben, welches dem Pfad zur Mail-
Vorlage vorangestellt wird, um diese verwenden zu kรถnnen. Dieses Prefix beschreibt
den Teilpfad zwischen dem WebApp-Root und dem von FirstSpirit erstellten Ordner.
Fรผr die Staging-Umgebung wรคre dies beispielsweise die Auftrags-ID.
Loggers.ini Path: In diesem Feld muss der Pfad zur Konfigurationsdatei fsformlogger.
ini angegeben werden. Ist dieses Feld leer oder kann die Datei nicht
gefunden werden, wird auf eine leere Konfigurationsdatei zurรผckgegriffen.
Beispiel Staging:
2708/de/configuration/fs-formlogger.ini
Dem Pfad fรผr die Staging-Umgebung ist die Auftrags-ID โ hier 2708 โ vorangestellt.
Beispiel Live:
de/configuration/fs-formlogger.ini
Der hier anzugebende Pfad kann auch absolut angegeben warden. Dieses Beispiel
sucht die Datei relativ zum WebAppRoot.
Ihre "neuen" Fehlermeldung wird auch noch die Meldung vorrausgegegangen sein, dass ihr Pfad zur loggers.ini falsch ist, und deswegen kann es nicht zugeordnet werden, da er eine leere ini geladen hat (siehe Loggers.ini Path)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Herr Klein,
vielen Dank fรผr die Antwort. Leider komme ich auch damit nicht zum Ziel.
Ich kann aber kurz das Setup beschreiben:
Die Struktur im Tomcat ist wie folgt:
Die Web-App liegt im Ordner "/opt/tomcat/webapps/project_2582_live".
Die HTML-Dateien liegen im Ordner "/opt/tomcat/webapps/project_2582_live/bit.de"
Die fsFormLogger-Ini ist hier zu finden: "/opt/tomcat/webapps/project_2582_live/bit.de/de/tools/fs_formlogger.ini"
Das Mailtemplate liegt hier: "/opt/tomcat/webapps/project_2582_live/bit.de/de/tools/kontakt/mailtemplate_kontakt.htm"
Dem Tomcat ist ein Apache vorgeschaltet, รผber den per HTTP die Dateien mit den URLs "/de/tools/kontakt/mailtemplate_kontakt.htm" und "/de/tools/fs_formlogger.ini" erreicht werden.
Der Ordner "bit.de" ist ein symbolischer Link, damit die Generierung nicht dirket in die WebApp erfolgt.
Nach meinem Verstรคndnis mรผsste folgende Konfiguration in der Datei "fs-formedit.ini" vorgenommen werden:
iniFile=bit.de/de/tools/fs_formlogger.ini
pathPrefix=/project_2582_live/
Dennoch wird die ini-Datei scheinbar nicht gefunden.
Was muss ich bei diesem Setup in die Parameter "iniFile" und "pathPrefix" eintragen?
Vielen Dank und viele Grรผรe,
Martin Brandt
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Erstmal mรผssen in der fs-formedit.ini KEINE รnderungen vorgenommen werden.
Die Konfiguration erfolgt ausschliesslich wie in der Dokumentation beschrieben รผber die web.xml!
In der web.xml geben Sie bitte an:
<init-param>
/project_2582_live/bit.de
<param-name>pathPrefix</param-name>
<param-value></param-value>
/project_2582_live/bit.de
</init-param>
<init-param>
<param-name>iniFile</param-name>
<param-value>/de/tools/fs_formlogger.ini</param-value>
</init-param>
wobei sich das pathPrefix danach richt wie der Pfad in der Loggers.ini aussieht.

