Stored procedures BizTalk:轮询SQL存储过程时出现路由失败错误

Stored procedures BizTalk:轮询SQL存储过程时出现路由失败错误,stored-procedures,biztalk,polling,Stored Procedures,Biztalk,Polling,我正在尝试轮询SQL Server以获取一个简单的SELECT存储过程(查询本身在SSMS中执行得非常好),然后将结果(通过一些转换和消息分配)通过电子邮件发送给硬编码的收件人 在BizTalk中,我有一个接收端口(使用WCF-SQL配置为使用TypedPolling指向目标服务器),还有一个PollingStatement“EXEC dbo.[spRTest]” 然后,使用模式将来自轮询SP的响应映射到规范模式,然后规范模式使用消息分配在发出电子邮件之前定义一些SMTP详细信息,这将反馈到编排

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

在BizTalk中,我有一个接收端口(使用WCF-SQL配置为使用TypedPolling指向目标服务器),还有一个PollingStatement“EXEC dbo.[spRTest]” 然后,使用模式将来自轮询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概念还比较陌生,所以这是一个学习和烧录的过程


提前感谢

这意味着您收到了来自轮询端口的消息,但它无法将其路由到发送端口或业务流程。请仔细检查您的发送端口或业务流程是否已启用,以及您是否设置了正确的筛选器属性和值。要设置正确的筛选器值,请打开路由失败实例并查看上下文属性可用。您可以使用其中一个上下文属性作为筛选器属性。

您的发送端口是单向的还是双向的?您需要查看路由失败的上下文属性,以查看1)它来自何处2)它具有哪些您希望路由的属性,如果它们与你期望它去的地方的过滤器相匹配,那么WCF-RL的配置似乎是双向的&进一步看,不要认为发送端口有问题。使用干净、简单的设置重新创建:1个接收端口(接收位置,使用TypedPolling到调用测试SP的我的服务器)1个发送端口(平面文件XML输出,因此它应该只将SQL的结果转储为XML)无转换。现在可以看到接收位置似乎出现了某种连接错误:适配器“WCF-SQL”引发了一条错误消息。详细信息“Microsoft.ServiceModel.Channels.Common.AdapterException:无法将'System.Guid'类型的对象强制转换为'System.IConvertible'类型…怀疑我从零开始就完全做错了,我现在已经不折不扣地执行了操作(或多或少),但至少我还是得到了上面的错误,所以我的问题在某种程度上是一致的。这听起来像是他最初的问题,但现在他有别的问题。没有更多的信息,我们只能猜测。