如果我想打电话从编排Web服务或WCF方法,我可以通过添加服务引用到项目或添加生成的项做到这一点。 有一个最好的做法 - 什么是这两种方法的优势在哪里?
Answer 1:
Steef -Jan威格斯回答类似的问题在这里
TL; DR -始终使用Generated Items wizard
。
我的10C - 虽然添加服务导入的xsd文件添加为模式,并设置为BtsCompile,有一定的局限性,如:
- 添加服务引用将添加客户端代理,这是不是在BizTalk项目所需(以及可能“诱惑”的开发者做愚蠢的事情喜欢使用这个代理从自定义组件)
- 服务引用使得(与泛型或其它架构的依赖性如)导入复杂的WSDL乱七八糟,见考虑使用Web服务时
使用Add Generated Items
向导做额外的工作适合你:
- 添加的端口类型用于访问该服务,已经预先配置正确的消息类型。 但是需要注意的是它增加了端口类型的虚拟.odx - 即不删除ODX,直到你移到别处的端口类型。
- 允许您在同一时间创建发送端口绑定。
有一件事我会与向导建议,是创建一个文件夹的WCF参考,并始终将所有工件导入文件夹(即不做架构的端口,从平时的分离和离开虚拟.odx有作为) 。 这样,如果你需要重新生成项目,只需删除该文件夹中的一切,重新开始(遗憾的是,精灵没有Update Service Reference
等同。
还要注意的是,如果你移动所产生的架构和端口类型为一个单独的程序,你需要改变的类型修饰符访问Public
(这是默认的内部)
文章来源: Calling a web/wcf service from orchestration: adding a generated item vs adding service reference