将工作流与 Web Service Enhancements 3.0 一起使用
基于 Windows Workflow Foundation 的 Web 服务是在基于 ASP.NET 的 ASMX Web 服务框架上构建的。 这些服务与传统的 ASMX 一样,为 Web Service Enhancements 3.0 (WSE) 提供了相同程度的扩展。 通过执行下列操作之一,可以为启用工作流的 Web 服务配置 WSE 扩展:
扩展 WSE 的 Web 服务。
扩展 WSE 的 InvokeWebServiceActivity 活动。
扩展 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 活动
其他资源
版权所有 (C) 2007 Microsoft Corporation。保留所有权利。