Search the FirstSpirit Knowledge Base
Hallo,
ich habe auf FS4.2 umgestellt. Die Scripte habe ich so verwendet, wie in der FS4.2.
Nun bekomme ich bei der Vorscheu im JavaClient einen Fehler:
de.espirit.firstspirit.generate.PreviewProduction cannot be cast to de.espirit.firstspirit.access.ClientScriptContext
Dieser Fehler kam vorher nicht. Komme ich irgendwie auf den ClientScriptContest (oder ProjectScriptContext)?
In der Api habe ich PreviewProduction nicht gefunden.
kann es ein, dass PreviewProduction die gleichen Methoden wie ProjectScriptContext hat? Man kann nur nicht casten?
Guten Morgen,
ein wenig mehr Kontext zum Problem wäre sicherlich hilfreich gewesen
Ich nehme der Einfachheit halber an, es ist eine Umstellung von FS4.2R2 auf FS4.2R4 gemeint und eine Skriptnutzung aus einer Vorlage heraus.
Dass der ClientScriptContext in der Vorschau verfügbar war ist unwahrscheinlich. Client-Kontexte stehen nur auf Client-Seite bereit (also bei Script-Ausführung beispielsweise aus den Java-basierten Client heraus).
In der Vorschau bzw. Generierung, die ja auf dem Server ausgeführt wird, ist dies der GenerationContext, und diese API wird auch von der PreviewProduction bereitgestellt. Bitte innerhalb des Scripts dann auch nur die API-Typen verwenden, falls ein Cast wirklich erforderlich ist (BeanShell arbeitet ja üblicherweise untypisiert auch recht gut).
Beste Grüße
Stefan
ok, da hol ich etwas aus:
Der Fehler kommt im JavaClient bei der Vorschau einer Inhaltsseite. Die Erstellung der Seite wird von einem Script vorgenommen, das wiederum aus unterschiedlichen Datenquellen sich Informationen zusammensucht.
Das Script wird auch in einer Aktionsvorlage genutz. Im Gegensatz zu der Vorschau im JavaClient wird das Ergebnis (der Datenzusammenstellung) nicht angezeigt, sondern per Mail versandt.
In dem Script werden Klassen/Methoden aus einem eigenen Modul aufgerufen (dieses hatte den Fehler gemeldet).
Meine "letzte" Version war 4.1.*** nun ist es die 4.2.219.38784
Wenn das Script sowohl im Client (Aktionsvorlage) als auch auf dem Server (Vorschau) genutzt werden soll, kommt man wohl um entsprechende Behandlung der unterschiedlichen Kontext-APIs nicht herum. Vielleicht lohnt es sich, zwei Scripts daraus zu machen.
Gruß
Stefan
ich hatte erst zwei Scripte und musste sommit immer an zwei Stellen ändern (ich verwende halt nur ein Script und frage darin ab, obs nun die Vorschau ist oder der Auftrag).
Ich hab nun mit dem ""GenerationContext" eine neue Methode (in dem eigenen Modul) erstellt und es funktioniert alles wieder wie gewohnt.
Danke und Grüße
Andreas