meurer
I'm new here

Schedulerauftrag per Workflow-Script starten

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

0 Kudos
2 Replies
hoebbel
Crownpeak employee

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

0 Kudos
gockel
Crownpeak employee

> Demnächst (Revision > 43209)

Dies entspricht, dem noch nicht existierenden Build 4.2.427

0 Kudos