从一个外部程序运行工作流
工作流已经注册为Web服务可能运行从外部程序,提供了一个Web服务客户端。异步工作流运行以这种方式执行。外部程序调用工作流使用工作流程的Web服务定义,然后控制立即返回到外部程序在工作流运行时。外部程序必须定期调查工作流程以监控其执行状态并获得任何工作流完成时返回的结果。
WSDL文件创建一个工作流已经注册为Web服务提供了两种操作,名叫StartWorkflow()和EndWorkflow ()。
StartWorkflow ()
StartWorkflow()操作开始在WSDL文件中标识的工作流。的输入操作的输入参数设置的工作流注册流程作为Web服务向导。操作的结果包含以下项目:
令牌
工作流的惟一标识符。这个标识符用于调用EndWorkflow()操作。
时间间隔
推荐的轮询间隔后应该检查工作流的状态,在几秒钟内。这可能改变之间的动态调用。
EndWorkflow ()
EndWorkflow()操作获得一个工作流的执行状态。操作的输入是一个工作流StartWorkflow返回的标记()操作。操作的结果包含以下项目:
状态
工作流的执行状态。这可能是设置为下列之一:
状态 | 描述 |
---|---|
排队 | 工作流已经排队,因为工作流的数量的限制可能会同时运行。如果你有LiveCompare管理员权限,这个限制可以设置使用MaxConcurrentProcesses配置设置。工作流将运行当它到达队列的前面和运行工作流低于的数量MaxConcurrentProcesses极限。 |
运行 | 工作流程正在运行。 |
完成 | 工作流运行完成。 |
失败的 | 工作流程开始,但运行时出错。 |
UNRECOGNIZED_TOKEN | 使用的令牌EndWorkflow()操作不再有效。一个令牌变为无效后调用EndWorkflow(令牌)返回一个状态完成或失败。 |
消息
如果工作流的执行状态失败,“消息”包含一个文本描述的错误发生。
时间间隔
推荐的轮询间隔后应该检查工作流的状态,在几秒钟内。这可能改变之间的动态调用。
workflowResult
如果完成工作流的执行状态,“workflowResult”包含工作流的结果。这是输出参数的值设置的工作流注册流程作为Web服务向导。