2007-09-04

Problem att starta workflows i MOSS

I ett projekt som jag arbetar i har vi haft ett återkommande problem som endast visat sig i vissa installationer av MOSS. Efter att ha letat olika lösningar och försökt koda work-arounds snubblade jag precis över lösningen.

Problemet visade sig när vi försökte starta ett workflow via MOSS objektmodell vilket resulterade i ett "Failed to start(retrying)" som efter några minuter kom igång igen.

Felet i loggen ser ut som följer:

Workflow Infrastructure Unexpected
RunWorkflow: System.ArgumentException: Value does not fall within the expected range. at Microsoft.SharePoint.Workflow.SPWorkflowActivationProperties..ctor(SPWorkflow workflow, Int32 runAsUserId, String associationData, String initiationData) at Microsoft.SharePoint.Workflow.SPWinOEWSSService.MakeActivation(SPWorkflow workflow, SPWorkflowEvent e) at Microsoft.SharePoint.Workflow.SPWinOeEngine.RunWorkflow(Guid trackingId, SPWorkflowHostService host, SPWorkflow workflow, Collection`1 events, TimeSpan timeOut) at Microsoft.SharePoint.Workflow.SPWorkflowManager.RunWorkflowElev(SPWorkflow originalWorkflow, SPWorkflow workflow, Collection`1 events, SPRunWorkflowOptions runOptions)


Lösningen var rätt enkel
Central Administration > Application Management > Policy for Web Application
Lägg där till det servicekonto som anropar via objektmodellen och kryssa i att det kontot får uppträda som system.

Projektteamet är glada igen och ny energi finns =)

Nu väntar jag bara på en ny version av Live Writer som faktiskt går att installera...

3 kommentarer:

Unni sa...

Jeg prøvde dette, men får fremdeles ikke starte en workflow via objektmodellen. Når jeg prøver å starte workflowen står den bare som starting en stund før den går over til failed on start (retrying). Har du flere tips?

Daniel sa...

Hej Unni

Har du kontrollerat vad sharepoint-loggen säger? Dvs den som finns under program files\microsoft shared\common files\web server extensions\12\logs

Där borde mer info om ditt fel finnas

MVH
/Daniel

Unni sa...

Nå fungerer det :) Feilen var en feil i workflowen min (hadde ikke oppdatert noen .dll filer som den var avhengig av) Det jeg gjorde var å lage en enkel workflow uten avhengigheter og startet denne fra kode. Da fungerte det bra.