Posted on 2008-06-29 11:23
玄铁剑 阅读(250)
评论(0) 编辑 收藏 引用 所属分类:
WF
如果工作流的实例作为 Web 服务公开,则工作流之间可以相互通信。 当一个工作流必须与另一个工作流进行通信时,将对该工作流发出 Web 服务调用。
可按照以下步骤来在工作流实例之间进行通信:
-
将通信双方的工作流都发布为 Web 服务。
-
确保在工作流中适当地包含 WebServiceInputActivity 活动。 有关更多信息,请参见使用 WebServiceInputActivity 活动。
-
如果接口方法具有返回值,请确保使用适当的 WebServiceOutputActivity 活动。
-
在发布工作流之后,工作流便可以进行通信了。 在调用工作流中,通过使用目标工作流的代理,使用 InvokeWebServiceActivity 活动来调用目标工作流,其中代理是利用 Web 服务描述语言 (WSDL) 生成的。 有关 WSDL 的更多信息,请参见 MSDN Library。
当工作流的一个实例要与另一个实例通信时,将使用另一个实例的代理。 这将使用 InvokeWebServiceActivity 活动通过代理发出 Web 服务调用。 在接收工作流端,WebServiceInputActivity 活动将接收该调用。 此时,工作流可以执行某个操作,然后使用 WebServiceOutputActivity 活动将返回值发送回调用工作流。 WebServiceOutputActivity 活动使用已由 WebServiceInputActivity 活动建立的同一会话。