【问题标题】:BizTalk: Routing Failure Error when polling SQL Stored ProcedureBizTalk:轮询 SQL 存储过程时出现路由失败错误
【发布时间】:2019-09-11 12:38:49
【问题描述】:

我正在尝试轮询 SQL Server 以获得简单的 SELECT 存储过程(查询本身在 SSMS 中执行得非常好),然后将结果(带有一些转换和消息分配)通过电子邮件发送给硬编码的收件人。

在 BizTalk 中,我有一个接收端口(使用 WCF-SQL 配置为使用 TypedPolling 指向目标服务器,以及“EXEC dbo.[spRTest]”的 PollingStatement 然后,这将输入到编排中,利用架构将来自轮询 SP 的响应映射到规范架构,然后使用消息分配来定义一些 SMTP 详细信息,然后再发出电子邮件。

当它执行时,我遇到了常见的 BizTalk 错误:

This service instance exists to help debug routing failures for instance "{23AC9101-13FB-4290-A2AC-CED7FEAB4064}". The context of the message associated with this instance contains all the promoted properties at the time of the routing failure.

我最初收到与订阅者相关的错误,但我已告诉发送端口过滤器查看轮询接收端口,因此应该会收到消息。

最后一点,我对整个 BizTalk 概念还比较陌生,所以这是一个学习和刻录的过程。

提前致谢

【问题讨论】:

  • 您的发送端口是单向还是双向?您需要查看 Routing Failure 的上下文属性,以了解 1) 它来自哪里 2) 它具有您希望路由的哪些属性,以及它们是否与您期望它去往的过滤器匹配。
  • 似乎 WCF RL 配置为 2 路
  • 进一步查看,并且认为它不是发送端口的问题。使用干净、简单的设置重新创建: 1 接收端口(使用 TypedPolling 接收位置到我的服务器调用测试 SP) 1 发送端口(平面文件 XML 输出,因此它应该只是将 SQL 中的结果转储到 XML 中) 没有转换。现在可以看到它似乎是接收位置的某种连接错误:适配器“WCF-SQL”引发了错误消息。详细信息“Microsoft.ServiceModel.Channels.Common.AdapterException:无法将“System.Guid”类型的对象转换为“System.IConvertible”类型..
  • 怀疑我从头开始完全做错了,我现在已经按照docs.microsoft.com/en-us/biztalk/adapters-and-accelerators/… 写了这封信(或多或少),但至少我仍然收到上述错误,所以有'与我的问题有一定程度的一致性

标签: stored-procedures biztalk polling


【解决方案1】:

这意味着您从轮询端口收到了一条消息,但它无法将其路由到发送端口或编排。仔细检查您的发送端口或编排是否已启用以及您是否设置了正确的过滤器属性和值。要设置正确的过滤器值,请打开路由失败实例并查看可用的上下文属性。您可以将上下文属性之一用作过滤器属性。

【讨论】:

  • 这听起来像是他最初的问题,但现在他有别的问题了。如果没有更多信息,我们只是猜测。
猜你喜欢
  • 2016-06-26
  • 1970-01-01
  • 1970-01-01
  • 2021-11-09
  • 2015-10-25
  • 2021-10-18
  • 1970-01-01
  • 2011-10-15
  • 1970-01-01
相关资源
最近更新 更多