6

我试图弄清楚如何在 BizTalk 2006 R2 中使用 WCF 服务(发送请求并接收响应)。

我已经完成了“添加生成的项目”向导。现在我试图找出如何使用它在编排中生成的项目。

应该如何提出请求?

4

3 回答 3

4

下面是如何做到这一点的描述 - 我将假设至少具有 BizTalk 映射之类的基本知识,如果您需要更多详细信息,请告诉我,我会更新。

在 BizTalk 中生成项目后,您应该(至少):

  • 创建了带有消息和端口类型的编排文件
  • 描述您从 WCF 服务发送和接收的消息的架构
  • 一个 .Binding.xml 文件,描述 WCF 服务公开的服务协定并允许在 BizTalk 中轻松配置

    1. 打开编排文件。这应该是空的。
  • 将一个端口从工具箱拖到编排设计器表面。

  • 适当地命名端口。
  • 选择“使用现有端口类型” - 现有端口类型之一将是您的 WCF 服务(由添加生成的项目向导创建)
  • 指定您将发送和接收消息
  • 指定稍后绑定

此端口应具有请求和响应操作消息,并且它们应该已自动配置为将消息用于您的 WCF 服务。如果您的服务公开了多个操作,您将在此处看到这一点。

  1. 使用标准 BizTalk 映射方法,将要发送到 WCF 服务的数据映射到 WCf 端口的请求消息中。(您可能希望将编排设计器中的消息名称更改为比默认的 message_1、message_2... 更好的名称)

  2. 将接收和发送形状拖到业务流程设计器上,并将它们连接到正确的端口消息。

  3. 连接 BizTalk 业务流程的其余部分以从适当的源系统获取数据(这只是基本的 BizTalk,而不是 WCF)

  4. 部署 BizTalk 应用程序。

    该应用程序现已准备就绪,您可以将其部署到 BizTalk。

  5. 配置 BizTalk 应用程序

    • 打开 BizTalk Server 2006 管理控制台并找到包含您刚刚部署的业务流程的应用程序。
    • 编排将被取消登记,您需要绑定其所有端口
      对于大多数端口,这就像任何其他 BizTalk 应用程序一样 - 只是处理 WCF 服务的端口不同。

对于 WCF 端口,您有(至少开始时)两个主要选项:

  1. 导入由 BizTalk 生成项目向导创建的绑定文件(右键单击应用程序并导入 - 导航到 .xml 绑定文件)- 在您了解 Biztalk 如何表示所有 WCF 绑定选项之前,这可能是可取的。
  2. 配置您自己的 WCF 发送端口。

    • 为此,端口需要是 Solicit-Response 以匹配 WCF 服务。
    • 选择一种 WCF 发送端口类型以匹配 WCF 服务的绑定类型。
      首先(对于基本 Web 服务),这通常是 WCF-BasicHttp。
      一旦您掌握了基础知识,您可能希望返回这里并尝试自定义绑定中可用的选项 - 那里有很多
    • 配置发送端口。

现在创建 WCF 端口后,您可以将业务流程端口绑定到它。

完成所有这些后,您应该能够启动 BizTalk 应用程序并且一切正常。

可能有帮助的一件事 - 错误将被写入事件日志,它们可能没有帮助,但您还应该能够在挂起的消息视图中看到从服务返回的任何肥皂故障消息。

祝你好运!

于 2008-10-15T03:29:49.713 回答
0

如果您只是使用它来编排 WCF 服务,那么 BizTalk 就太过分了。您可以更轻松地在 Windows Workflow Foundation 内部的 .NET 3.5 中使用 WCF 服务。

也就是说,这是一个应该有所帮助的截屏视频:

http://www.pluralsight.com/community/blogs/aaron/archive/2007/11/15/49172.aspx

于 2008-10-15T03:29:15.640 回答
0

它与 BizTalk 中的其他服务开发一样非常简单。让它更简单。

  1. 只需开发您想要的工作流程(编排)和服务。
  2. 打开 WCF Web 发布向导并检查 (a) 启用元数据端点,(b) 在您的应用程序中创建 BizTalk 接收位置。
  3. 转到您的 BizTalk 控制台并启用接收位置并从 Biztalk 控制台启动您的应用程序。
  4. 然后从 IE 或 Fire Fox 浏览它以检查服务是否正在运行。现在服务已经开发。让我们为它的客户做点什么。
  5. 转到 Patah "c:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\" 并写入 SVCUTL 和您的服务 url,即 c:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\ svcutil localhost:axix//axx.svx?wsdl,这会复制两个文件,一个是output.config,另一个是BizTalkServiceInstance。将这两个文件剪切并粘贴到您的 ciletn 中,然后查看您的服务 desp 的使用情况。我认为这是我尝试做的最简单的。感谢阿卜杜勒·阿齐兹·法鲁奇。
于 2010-02-16T06:37:24.957 回答