我正在编写一个biztalk业务流程,需要调用Web服务,可能需要多个Web服务,并且可能不止一次。我在面前看到两个选择;一,在单独的代码项目中使用wsdl,并从表达式形式的代码中调用Web服务,两个,从Biz中获取它,获取模式等,并通过请求/响应端口调用。这里的最佳做法是什么?一方面,如果更新了wsdl,那么更新代码比模式和端口更容易,并且看起来很混乱并且需要为多个Web服务调用构建足够的端口。另一方面,您可以在端口级别进行的所有调整(重试为1)使调用Web服务变得强大。
答案 0 :(得分:4)
另请参阅此问题here,其中讨论了第三个选项,即使用BizTalk中的add service reference
作为导入XSD的替代方法。
IMO你将通过使用.NET代理来处理集成来破坏使用BizTalk的重点。例如:
serviceModel
配置设置,例如端点等?即你已经失去了绑定文件的灵活性。
因此,TL; DR始终在BizTalk中使用WCF适配器
然而,这就是说,我同意如果消费的服务改变可能会弄乱更新生成的项目。 FWIW,我们通过以下方式减轻其中的一部分:
不幸的是,这留下了以下需要手动应用的操作:
public
<xs:annotation>
部分中保存和重新粘贴来简化或自动化。答案 1 :(得分:0)
有趣的是,你可以混合使用两者。由Saravana Kumar检查this !!!
它使用passthrough接收并使用发送端口上的dll使用web服务,而无需经历创建模式和webport的痛苦。
这提供了Biztalk的所有功能(路由响应,发送端口配置等),并且仍然可以灵活地更改架构而不用大惊小怪。