daniel_philippi
Occasional Collector

Vorschau erzeugt Download/Fehler bei XHTML Seiten

Hallo Zusammen.

Bei einem Projekt haben wir eine Mischung aus .html und .xhtml Dokumenten. Sobald ich eine .xhtml Seite anklicke erhalte ich in der internen Vorschau im Internet Explorer eine Downloadmeldung. Beim Firefox bekomme ich folgende Meldung:

XML-Verarbeitungsfehler: Syntax-Fehler

Adresse: http://192.168.0.1:8080/fs4preview/preview/12/page/DE/current/30/195254/forceRefresh=1/sid=711501901...

Line Number 1, Column 1:<!doctype html>

Wie kann ich der Vorschau beibringen, dass er .xhtml ganz normal wie .html rendert und nicht als XML.

Die publizierte Seite funktioniert ganz wie sie soll, ohne Fehler?!

Oder gibt es hier ein ganz anderes Problem?

Viele Grüße,

Daniel

8 Replies
feddersen
Community Manager

Vermutung: Der Jetty/Tomcat für die Vorschau ist so konfiguriert, dass er xhtml Dateien als application/xml ausliefert und nicht als text/html. Siehe http://de.selfhtml.org/html/xhtml/unterschiede.htm#mimetypen. Sie wollen wahrscheinlich text/html.

0 Kudos

Das klingt logisch. Wie kann ich dem Jetty das beibringen? In den Servereinstellungen?

0 Kudos

Es sollte über die fs- webapp.xml in conf Verzeichnis des FirstSpirit-Servers gehen. Dort gibt es eine Sektion "mime-mapping".

0 Kudos

da habe ich es nicht gefunden.

allerdings ist hier soetwas konfiguriert:

/server/jetty/webdefault.xml

Mit diesem Mapping hat es dann bei mir geklappt:

  <mime-mapping>

    <extension>xhtml</extension>

    <mime-type>text/html</mime-type>

  </mime-mapping>

0 Kudos

Hallo nochmal.

Nachdem ich nun den Code in die Datei eingebaut und den FirstSpirit Dienst neu gestartet habe überschreibt dieser beim Start die Einstellungen und stellt die ursprüngliche Datei wieder her.

Wie kann ich das verhindern?

Es ist die Datei die ich bearbeite:

.../Firstspirit4/server/jetty/webdefault.xml

Gruß,

Daniel

0 Kudos

Hier die Antwort die ich vom Support bekommen habe:

Support schrieb:

Ich konnte das Problem reproduzieren. Ich würde davon ausgehen, dass Firstspirit4/server/jetty/webdefault.xml schon der richtige Ort für die Definition des mime types ist. Allerdings wird die Datei bei jedem Neustart überschrieben.

Ich werde das als Bug aufnehmen und an unsere Entwicklung weiterleiten.

Alternativ könnten Sie versuchen den mime type unter Firstspirit4/web/fs4preview/WEB-INF/web.xml einzutragen und anschelie0end entweder nur den Webkontext o. FirstSpirit neu zu starten.

Wichtiger Hinweis:

Diese Änderung "überlebt" zwar einen FirstSpirit-Neustart, aber wahrscheinlich kein FirstSpirit-Update. Nach jedem FirstSpirit-Update werden alle Webkontexte aktualisiert, so dass der mime type erneut eingetragen werden müsste. Ein Update wird zum Glück nicht so häufig durchgeführt;-)

Ok, nun habe ich es getestet und kann grünes Licht geben.

Allerdings wird die web.xml durch irgend einen Prozess blockiert, man kann also Änderungen daran nicht speichern.

Es ist jedoch möglich die Datei zu kopieren und in der Kopie die gewünschten Änderungen zu machen. Dann benennt man die bisherige web.xml um (Administrator Rechte nötig) z.B. in web_alt.xml und benennt dann die Kopie in web.xml um. So hat es bei mir funktioniert.

Viele Grüße,

Daniel

Hallo Daniel,

wenn Du die webdefault.xml Datei in das WEB-INF Verzeichnis kopierst und diese dort um den entsprechenden Mime-Type erweiterst, sollte das meines Wissens nach auch klappen und auch  des FirstSpirit Servers und Aktualisierungen des Webkontextes [z.B. durch Installation eines neuen Moduls]  überleben.

Viele Grüsse aus Dortmund,

  Holger