michel_magne
I'm new here

Setzen von Felder via Web Client funktioniert nicht

Jump to solution

Liebe Community,

Ich habe ein Workflow der ein Script anstosst, dort baue ich mir eine neue Seite/Struktur zusammen und beim setzen des Inhaltes in der Section habe ich folgendes Problem.

Im Java Client wird der Wert in das vorgesehende Feld geschrieben, im Web Client jedoch nicht. Es spielt auch keine Rolle ob es mit oder ohne Kontext gestartet wird.

Ich komme im Moment einfach nicht weiter und ich kann mir das Verhalten nicht erklären.

...

Page pageProcess = pageFolderProcess.createPage(pdFolderName + "_process_page", pageTemplateProcess, true, processName);

Body bodyProcess = pageProcess.getBodyByName("left_column");

Section sectionMetaPage = bodyProcess.createSection("metadata", sectionTemplateMetaPage);

FormData formDataMetaPage = sectionMetaPage.getFormData();

formDataMetaPage.get(masterLanguage, "st_phone_number").set("some value");

...

Ich habe auch schon versucht nachträglich FormData nochmals zusetzen mit

sectionMetaPage.setFormData(formDataMetaPage);

Aber wenn das Script im Web Client gestartet wird, so wird alles erstellt und nur die Zuweisung der Werte in den Feldern fehlen. Im Serverlog habe ich leider auch keinen Hinweis gefunden (keine Warnungen oder Fehler).

Ich bin für jeden Hinweis dankbar.

Hier noch die FirstSpirit-Version die ich verwende: Server-Version: 5.0.425.60000

Viele Grüsse,

Michel Magne

0 Kudos
1 Solution

Accepted Solutions
michel_magne
I'm new here

Liebe Community,

Ich habe das Problem selbständig lösen können.

Das Problem lag zum einen das ich die Seite nicht gespeichert hatte, der Code sieht nun wie folgt aus:

...

Page pageProcess = pageFolderProcess.createPage(pdFolderName + "_process_page", pageTemplateProcess, true, processName);

pageProcess.setLock(true);

Body bodyProcess = pageProcess.getBodyByName("left_column");

Section sectionMetaPage = bodyProcess.createSection("metadata", sectionTemplateMetaPage);

FormData formDataMetaPage = sectionMetaPage.getFormData();

formDataMetaPage.get(masterLanguage, "st_phone_number").set("some value");

sectionMetaPage.setFormData(formDataMetaPage);

pageProcess.save();

pageProcess.setLock(false);

Dann bekam ich die Exception "de.espirit.firstspirit.agency.ElementValidationReportsException" welche darauf hinweist, dass gewisse Feldvalidierungen nicht eingehalten wurden. Werden diese eingehalten so werden auch die Feldwerte übernommen.

Rückwirkend ist der Fehler verständlich, jedoch hat mich das Verhalten zwischen dem Java Client und Web Client irritiert da es im Java Client ja funktioniert hat.

Viele Grüsse,

Michel Magne

View solution in original post

0 Kudos
1 Reply
michel_magne
I'm new here

Liebe Community,

Ich habe das Problem selbständig lösen können.

Das Problem lag zum einen das ich die Seite nicht gespeichert hatte, der Code sieht nun wie folgt aus:

...

Page pageProcess = pageFolderProcess.createPage(pdFolderName + "_process_page", pageTemplateProcess, true, processName);

pageProcess.setLock(true);

Body bodyProcess = pageProcess.getBodyByName("left_column");

Section sectionMetaPage = bodyProcess.createSection("metadata", sectionTemplateMetaPage);

FormData formDataMetaPage = sectionMetaPage.getFormData();

formDataMetaPage.get(masterLanguage, "st_phone_number").set("some value");

sectionMetaPage.setFormData(formDataMetaPage);

pageProcess.save();

pageProcess.setLock(false);

Dann bekam ich die Exception "de.espirit.firstspirit.agency.ElementValidationReportsException" welche darauf hinweist, dass gewisse Feldvalidierungen nicht eingehalten wurden. Werden diese eingehalten so werden auch die Feldwerte übernommen.

Rückwirkend ist der Fehler verständlich, jedoch hat mich das Verhalten zwischen dem Java Client und Web Client irritiert da es im Java Client ja funktioniert hat.

Viele Grüsse,

Michel Magne

0 Kudos