【发布时间】: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