与其他工作流通信

如果工作流的实例作为 Web 服务公开,则工作流之间可以相互通信。 当一个工作流必须与另一个工作流进行通信时,将对该工作流发出 Web 服务调用。

可按照以下步骤来在工作流实例之间进行通信:

  • 将通信双方的工作流都发布为 Web 服务。

  • 确保在工作流中适当地包含 WebServiceInputActivity 活动。 有关更多信息,请参见使用 WebServiceInputActivity 活动

  • 如果接口方法具有返回值,请确保使用适当的 WebServiceOutputActivity 活动。

  • 在发布工作流之后,工作流便可以进行通信了。 在调用工作流中,通过使用目标工作流的代理,使用 InvokeWebServiceActivity 活动来调用目标工作流,其中代理是利用 Web 服务描述语言 (WSDL) 生成的。 有关 WSDL 的更多信息,请参见 MSDN Library。

当工作流的一个实例要与另一个实例通信时,将使用另一个实例的代理。 这将使用 InvokeWebServiceActivity 活动通过代理发出 Web 服务调用。 在接收工作流端,WebServiceInputActivity 活动将接收该调用。 此时,工作流可以执行某个操作,然后使用 WebServiceOutputActivity 活动将返回值发送回调用工作流。 WebServiceOutputActivity 活动使用已由 WebServiceInputActivity 活动建立的同一会话。

有关更多信息,请参见将工作流部署为 Web 服务从工作流中调用 Web 服务

请参见

参考

InvokeWebServiceActivity
WebServiceInputActivity
WebServiceOutputActivity

概念

将工作流部署为 Web 服务
使用 InvokeWebServiceActivity 活动
使用 WebServiceInputActivity 活动
使用 WebServiceOutputActivity 活动

其他资源

Web Service Sample

Footer image

版权所有 (C) 2007 Microsoft Corporation。保留所有权利。