1

第三方供应商为我提供了他们希望能够调用的服务的 wsdl。是否可以根据现有的服务合同和架构在 BizTalk 中公开 WCF 终结点,而无需尝试对其进行逆向工程?

4

1 回答 1

2

这可以按如下方式完成:

从 Visual Studio 开始:

  1. 在要导入架构的项目上,右键单击并选择添加生成的项目
  2. 选择使用 WCF 服务
  3. 在 BizTalk 消费向导上选择Metadata Files (WSDL and XSD),添加 WSDL / XSD 文件,并为工件提供名称空间。
  4. (不要删除 .odx 文件,因为它包含端口类型)
  5. 然后创建您的 Orch 来处理传入消息,该消息返回适当响应类型的响应(例如,请参阅ExposeWebService Biztalk 示例,分别使用供应商提供的请求和响应模式作为输入和输出)。使用导入的端口类型可以节省查找和分配模式以请求和响应的时间。该端口还将具有供应商期望的操作名称。
  6. 您需要构建项目并将其部署到 BTS。
  7. 然后可以使用BizTalk WCF 发布向导在本地 IIS 上发布 web 服务。如果您通过消息框使用直接绑定,那么如果您已经有 WCF 接收端口,则不需要创建新的接收端口。您可以指定虚拟目录的名称,但请注意 BizTalk 将为 .svc 生成任意名称。
  8. 如果您还没有用于 BizTalk WCF 接收的应用程序池,则需要使用与 BizTalk 隔离主机相同的凭据创建一个
  9. 将上述向导创建的虚拟目录分配给应用程序池。
  10. 确保 BizTalk 中的接收位置正在运行

您现在应该能够导航到发布您的 orch 的虚拟根目录、添加服务引用、测试您的 orch 等。

由于您的集成供应商已经拥有 WSDL,因此如果您不想使用 IIS,也可以完全跳过发布(步骤 7-9),而是通过使用直接在 Biztalk 中手动创建接收端口来让 BizTalk 在端口 80 上侦听WCF-自定义。您可能需要使用 netsh来允许此操作(除非您的 BizTalk 以管理员访问权限或类似权限运行,这是不可取的)。

于 2012-08-31T12:51:38.097 回答