biztalk - 从编排 : adding a generated item vs adding service reference 调用 web/wcf 服务

标签 biztalk biztalk-2010 biztalk-orchestrations

如果我想从编排中调用 Web 服务或 wcf 方法,我可以通过向项目添加服务引用或添加生成的项来实现。这两种方法的优点是什么 - 是否有最佳实践?

最佳答案

Steef -Jan Wiggers 回答了类似的问题 here

TL;DR - 始终使用 Generated Items wizard .

我的 10c - 虽然 Add Service 导入的 .xsd 文件被添加为架构并设置为 BtsCompile,但存在一些限制,例如:

  • 添加服务引用将添加客户端代理,这在 BizTalk 项目中是不需要的(这可能会“诱使”您的开发人员做一些愚蠢的事情,例如从自定义程序集中使用此代理)
  • 服务引用使导入复杂的 WSDL 变得一团糟(例如,使用泛型或依赖于其他模式),请参阅 Considerations when consuming Web Services

  • 使用 Add Generated Items向导为您做了额外的工作:
  • 添加用于访问服务的端口类型,已针对正确的消息类型进行了预配置。但是请注意,它将端口类型添加到虚拟 .odx 中 - 即在将端口类型移动到其他位置之前不要删除 odx。
  • 允许您同时创建发送端口绑定(bind)。

  • 我建议使用向导的一件事是为 WCF 引用创建一个文件夹,并始终将所有工件导入该文件夹(即,不要将架构与端口进行通常的分离,并将虚拟 .odx 也留在那里) .这样,如果您需要重新生成项目,只需删除文件夹中的所有内容并重新开始(遗憾的是,该向导没有 Update Service Reference 等效项。

    另请注意,如果您确实将生成的模式和端口类型移动到单独的程序集中,则需要将类型修饰符访问更改为 Public (默认为内部)

    关于biztalk - 从编排 : adding a generated item vs adding service reference 调用 web/wcf 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12927376/

    相关文章:

    xsd - 这个 xsd 可能有什么问题?

    BizTalk 自定义管道组件 System.OutOfMemoryException

    BizTalk 编排编辑器在源代码中留下错误

    workflow-foundation - WF 4 还是 BizTalk 2010?

    BizTalk:捕获编排中的异常

    xml - 如何创建将分层 XML 转换为平面文件的 Biztalk 映射

    azure - Biztalk 与 Azure 服务总线

    c# - 打印 BizTalk Orchestration 的硬拷贝

    web-services - 使用BizTalk Web服务重新发布内部Web服务

    Biztalk 订购交付失败