【问题标题】:WebHttpRelay in BizTalk server 2013BizTalk 服务器 2013 中的 WebHttpRelay
【发布时间】:2014-12-11 07:44:34
【问题描述】:
外部提供商需要向我们的 BizTalk 环境发送回调。回调只是一个带有 XML 正文的 HTTP POST。
我们自然不想将 BizTalk 暴露在外部,我们想在 Azure 中使用中继服务。
据我所知,BizTalk 中没有 WebHttpRelayBinding。有没有办法解决这个问题,还是我需要创建一个 .NET 服务来处理这个问题?
【问题讨论】:
标签:
azure
biztalk
webhttprelaybinding
【解决方案1】:
您可以将 WebHttpRelayBinding 与 WCF 自定义适配器一起使用。在当前项目中,我们在 machine.config 中配置了绑定以及 TransportClientEndpointBehavior 和 ServiceRegistrySettings 行为。这使我们能够根据需要轻松配置 WCF 自定义适配器。
这很好用,并且支持 Microsoft 通过中继服务实现 REST 的方法。它并不能完全解决我们的问题。我们正在处理来自供应商的 AS2 流量。我们通过 AS2 接收 XML 有效负载。没关系。 WebHttpRelay 处理 XML。问题是我们需要同步返回 S/MIME 确认(它们在 AS2 中称为 MDN)。为此,我们必须编写一个自定义行为来处理 WCF 中的“原始”格式。我们还必须编写几个简单的管道组件来处理 BizTalk 端的格式和消息属性问题。我们可以通过使用 WCF 构建自定义适配器来改进这一点,并将管道组件逻辑重构到服务模型级别的适配器中。