2012-07-06 70 views
0

我正在使用coreservice在工作流程中创建第一个自动化活动“回到作者”。 以下是我的代码。需要启动使用核心服务的工作流程

  1. 创建的组件和成品
  2. 审查该组件并选择“回作者”这是一个自动化的任务,为我写了下面的代码。但是活动没有执行。

你能帮我解决吗?

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Runtime.InteropServices; 
using Tridion.ContentManager.CoreService.Client; 

namespace CoreComponentWorkflow 
{ 
    [ProgId("CoreComponentWorkflow.WorkflowHandler")] 

    public class AutomaticWorkflowHandler 
    { 
    public void MoveBackToActivity(string strActivitytoMove) 
    { 
     var client = new SessionAwareCoreServiceClient(); 
     var finishdata = new ActivityFinishData(); 
     finishdata.Message = strActivitytoMove; 
     var process = new ProcessInstanceData(); 
     var activity = (ActivityInstanceData)process.Activities[0]; 
     client.FinishActivity(activity.Id, finishdata, new ReadOptions()); 
    } 
    } 
} 
+1

不清楚您是否收到错误或者您是否收到错误的活动。你能指定流量是什么意思吗? – 2012-07-06 06:58:30

回答

1

您的代码中有几件事需要审查。

  1. 您创建一个新的ProcessInstanceData,而不是从当前实例读取它。因此,你肯定不会有process.Activities[0],因为这个过程是新的。
  2. 您从工作流脚本传递给您的活动的参数是什么?
  3. 您当前的工作项目在哪里?

用一些常识检查您的代码,并尝试遵循流程(例如使用远程调试)。尝试与之前的TOM.NET代码进行比较,看起来你只是在黑暗中拍摄而已。

+0

工作流程中的流程是什么?例如,如果你问我使用API​​创建页面,我可以这样说:1.获取sg对象,2.创建新页面对象3.设置文件名,4.设置pt,5.添加cp 6.保存。像这样,我在工作流程中必须遵循的流程/步骤是什么,我没有看到任何相关的文档以及更多的新的coreservice,这不像tom.net或tom。 – user1428019 2012-07-06 12:55:08

+0

看看你之前的代码http://stackoverflow.com/questions/11339510/automatic-activity-not-performing - 获取一个会话,获取当前的WorkItem,当前的Activity,完成当前的活动。 流程不会因为您更改了API而改变 – 2012-07-06 13:41:56

相关问题