Search the FirstSpirit Knowledge Base
Hallo zusammen,
ich möchte in einem Script einen Schedulerauftrag starten. Der Auftrag ist in den Projekteigenschaften hinterlegt.
Das Script sieht folgendermaßen aus:
//!Beanshell
import de.espirit.firstspirit.access.*;
import de.espirit.firstspirit.access.schedule.*;
Connection connection = context.getConnection();
try {
context.logInfo("Starte Veröffentlichung");
AdminService as = connection.getService(AdminService.class);
ScheduleStorage ss = as.getScheduleStorage();
auftrag_id = 26305;
ScheduleEntry se = ss.getScheduleEntry(auftrag_id);
ScheduleEntryControl sec = se.execute();
}
catch(Exception e) {
context.logError("Fehler beim Veröffentlichen", e);
}
context.logInfo("Veröffentlichung beendet");
Das Script wird in einer automatischen Workflow-Aktivität gestartet. Dies funktioniert alles problemlos, wenn der Admin-User diese Aktivität im Rahmen des Workflows ausführt.
Ist jedoch ein anderer User (ist Projekt-Admin) eingeloggt und führt diese Workflow-Schritte durch, löst die Code-Zeile
AdminService as = connection.getService(AdminService.class);
folgenden Fehler aus:
Fehler (de.espirit.firstspirit.impl.access.ScriptContextImpl): Fehler beim Veröffentlichen
not a admin user - 02.02.2011 14:47:52
FSVersion=4.2_BETA.414.41756#1825;JDK=1.6.0_22 32bit Sun Microsystems Inc.;OS=Windows XP 5.1 x86;Date=02.02.2011 14:47:52
java.lang.SecurityException: not a admin user
at de.espirit.firstspirit.server.io.AbstractServerConnection$CheckingGenerator.invoke(AbstractServerConnection.java:913)
at de.espirit.common.util.ConcurrentTypeGeneratorMap.generate(ConcurrentTypeGeneratorMap.java:40)
at de.espirit.firstspirit.server.io.AbstractServerConnection.getService(AbstractServerConnection.java:509)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[...]
Meine Frage: wie kann ein Workflow-Script, welches von einem Nicht-Admin-User getriggert wird, einen Scheduler-Auftrag auslösen?
Danke & Grüße
Hallo Herr Meurer,
im Prinzip machen Sie alles richtig, Ihnen kommt nur der unter der internen ID 84005 bekannte Fehler dazwischen.
Demnächst (Revision > 43209) sollte das Skript auch mit normalen Benutzern laufen.
Viele Grüsse aus Dortmund,
Holger Höbbel
> Demnächst (Revision > 43209)
Dies entspricht, dem noch nicht existierenden Build 4.2.427