dirk_kuch
I'm new here

Dataset.save() wirft ElementValidationReportsException

Jump to solution

Hallo,

wir haben ein Problem mit dem Speichern von Datasets. Werden unsere Skripte und Bibliotheken aus der FS Oberfläche, aus der Entwicklungsumgebung aufgerufen, funktioniert alles wunderbar - nur rufen wir die gleichen Code über einen Serverauftrag auf, dann schlägt dieses fehl und wir bekommen eine ElementValidationReportsException geworfen.

Wir sind ratlos. Hat jemand eine Idee?

Vielen Dank

Dirk Kuch

Aufruf:

- Serverauftrag

- Skript-Task ruft einen eigenen Service auf

- Der Service besitzt eine eigene Connection (Admin User) über die die Verarbeitung geschieht (gleicher Service wird auch aus IDE oder FS getriggert!)

- Wird nun dataset.save() aufgerufen, fliegt folgende Exception:

ERROR 25.03.2013 11:20:11.434 (de.espirit.firstspirit.server.CMSServer): uncaught exception in thread Thread[workflow api executor[p=14126, wf=freigabe_informationsreihen_anfordern, trans=warte auf Freigabe'Informationsreihen#6146' (ID=22516)],5,main] - de.espirit.firstspirit.access.script.ExecutionException: javax.script.ScriptException: de.espirit.firstspirit.agency.ElementValidationReportsException

de.espirit.firstspirit.access.script.ExecutionException: javax.script.ScriptException: de.espirit.firstspirit.agency.ElementValidationReportsException

    at de.espirit.firstspirit.server.script.Jdk6ScriptEngine$AbstractExecutable.execute(Jdk6ScriptEngine.java:95)

    at de.espirit.firstspirit.server.script.Jdk6ScriptEngine$AbstractExecutable.execute(Jdk6ScriptEngine.java:75)

    at de.espirit.firstspirit.client.gui.applications.ApplicationTabRegistry$IdentifiableExecutable.execute(ApplicationTabRegistry.java:119)

    at de.espirit.firstspirit.server.taskmanagement.TaskImpl.doTransition(TaskImpl.java:1081)

    at de.espirit.firstspirit.server.taskmanagement.TaskImpl.doAutomaticActivities(TaskImpl.java:1527)

    at de.espirit.firstspirit.server.taskmanagement.TaskImpl.doTransition(TaskImpl.java:1150)

    at de.espirit.firstspirit.server.taskmanagement.TaskImpl.doTransition(TaskImpl.java:1017)

    at de.espirit.firstspirit.workflow.WorkflowAgentImpl$TransitionRunnable.run(WorkflowAgentImpl.java:690)

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

Caused by: javax.script.ScriptException: de.espirit.firstspirit.agency.ElementValidationReportsException

    at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:317)

    at org.codehaus.groovy.jsr223.GroovyCompiledScript.eval(GroovyCompiledScript.java:41)

    at de.espirit.firstspirit.server.script.Jdk6ScriptEngine$CompiledExecutable.doExecute(Jdk6ScriptEngine.java:119)

    at de.espirit.firstspirit.server.script.Jdk6ScriptEngine$AbstractExecutable.execute(Jdk6ScriptEngine.java:93)

    ... 8 more

Caused by: de.espirit.firstspirit.agency.ElementValidationReportsException

    at de.espirit.firstspirit.store.access.ElementsValidationCollector.throwIfInvalid(ElementsValidationCollector.java:70)

    at de.espirit.firstspirit.store.access.contentstore.DatasetImpl.validate(DatasetImpl.java:970)

    at de.espirit.firstspirit.store.access.contentstore.DatasetImpl.save(DatasetImpl.java:936)

    at de.espirit.firstspirit.store.access.contentstore.DatasetImpl.save(DatasetImpl.java:931)

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

    at java.lang.reflect.Method.invoke(Method.java:597)

    at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoCachedMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:229)

    at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:52)

    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)

    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:117)

    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:121)

    at Script1.doSetVeroeffentlichungsDatum(Script1.groovy:116)

    at Script1$doSetVeroeffentlichungsDatum.callStatic(Unknown Source)

    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:48)

    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:167)

    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:179)

    at Script1.run(Script1.groovy:37)

    at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:314)

    ... 11 more

0 Kudos
1 Solution

Accepted Solutions

Hallo,

wir konnten den Fehler beheben- die Berechtigung waren falsch gesetzt. Es waren die falschen Rechte für den technischen Nutzer auf der Datenquelle gesetzt - und dadurch wurde die ElementValidationReportsException geworfen.

Viele Grüße

Dirk Kuch

View solution in original post

0 Kudos
4 Replies
gockel
Crownpeak employee

Das wichtigste vorab Smiley Happy

-> Um welche FS-Version handelt es sich hier?

Bitte werten Sie die ElementValidationReportsException in ihrem Skriptcode mal aus, um rauszufinden, welcher Validierungsfehler denn hier vorliegt.

Einstiegspunkte für die Auswertung:

#getElementReports -> #getReport -> #getProblems

0 Kudos

Hallo Herr Gockel,

bei unserer FirstSpirit handelt es sich um die Version: 5.0.210.55494

Wir haben das Logging erweitert und konnten folgende Ursache ausmachen:

- dataset.save() wirft besagte ElementValidationReportsException

- Grund (Problem.getMessage()):  Gadget: tt_sections, Message: Referenced element 'script:text_picture_table' does not exist.

Bei 'text_picture_table' handelt es sich um einen normale Absatzvorlage, die wir in einer FS_LIST (tt_sections) innerhalb eines Datensatzes abgelegt haben. Woher das Präfix 'script:' stammt, können wir uns nicht erklären - da im Projekt kein Aufruf 'script:text_picture_table' existiert.

Und wie bereits erwähnt, wird das Script / die Skripte aus der Oberfläche, aus der IDE gestartet - funktioniert alles wunderbar.

Mit freundlichen Grüßen

Dirk Kuch

0 Kudos
gockel
Crownpeak employee

Hallo Herr Kuch,

ich bräuchte an dieser Stelle mehr Infos über die Zusammenhänge der Templates (Typen, Formulare) und darüber wie der Service arbeitet.

Kann es sein, dass der Service gegen den Freigabestand arbeitet?

Gruss

0 Kudos

Hallo,

wir konnten den Fehler beheben- die Berechtigung waren falsch gesetzt. Es waren die falschen Rechte für den technischen Nutzer auf der Datenquelle gesetzt - und dadurch wurde die ElementValidationReportsException geworfen.

Viele Grüße

Dirk Kuch

0 Kudos