将工作流与 Web Service Enhancements 3.0 一起使用

基于 Windows Workflow Foundation 的 Web 服务是在基于 ASP.NET 的 ASMX Web 服务框架上构建的。 这些服务与传统的 ASMX 一样,为 Web Service Enhancements 3.0 (WSE) 提供了相同程度的扩展。 通过执行下列操作之一,可以为启用工作流的 Web 服务配置 WSE 扩展:

扩展 WSE 的 Web 服务

可以扩展 Windows Workflow Foundation Web 服务以支持 WSE 扩展,其方法与扩展 WSE 的基于 ASMX 的 Web 服务一样:修改 web.config 文件。 有关更多信息,请参见 MSDN Library 中的 WSE 管道配置。

扩展 WSE 的 InvokeWebService 活动

可以通过使用 InvokeWebServiceActivity 活动来使用工作流中的 Web 服务。 若要扩展 InvokeWebServiceActivity 活动以支持调用启用 WSE 的 Web 服务,则必须执行下列操作之一:

  • 修改 Web 服务描述语言 (WSDL) 文件的基类。 通过使用 Visual Studio 的“添加 Web 引用”功能生成 WSDL 代理。 可以通过编辑 reference.cs 来修改生成的代理的基类,或者可以注册一个自动执行此修改操作的自定义 SOAP 导入类型。

  • 在客户端配置 WSE 标头。 可以通过使用配置文件或使用代码来完成此操作。 有关如何使用基于配置文件的配置的信息,请参见 MSDN Library 中的 WSE 文档。 或者,通过使用 InvokeWebServiceActivity InvokingEvent,代码可以在工作流运行时期间访问 WSE 代理类型。 InvokeWebServiceActivity 事件的 EventArgs 使用某个代理实例作为其属性之一。 可以将该实例转换为 WebServiceClientProtocol 以便配置 WSE 标头。

有关 WSDL 和 ASMX Web 服务框架的更多信息,请参见 MSDN Library。

请参见

参考

InvokeWebServiceActivity

概念

使用 InvokeWebServiceActivity 活动

其他资源

开发 ASP.NET 工作流应用程序

Footer image

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