Biztalk 我可以为文件接收位置和电子邮件接收位置使用单个管道吗?

Biztalk 我可以为文件接收位置和电子邮件接收位置使用单个管道吗?,biztalk,pop3,Biztalk,Pop3,我有一个正在为文件接收位置工作的管道。此管道接受csv文件并将其映射到XML 我现在尝试使用相同的端口、管道和管道设置设置新的电子邮件接收位置 如果我将身体部位索引设置为2,biztalk不应该忽略附件以外的所有内容吗?然后它应该像文件位置一样将附件放在管道中,然后管道将输出一个XML文件 错误: Microsoft.XLANGs.Core.PersistenceException:将状态持久化到数据库时发生异常。-->Microsoft.BizTalk.XLANGs.BTXEngine.Per

我有一个正在为文件接收位置工作的管道。此管道接受csv文件并将其映射到XML

我现在尝试使用相同的端口、管道和管道设置设置新的电子邮件接收位置

如果我将身体部位索引设置为2,biztalk不应该忽略附件以外的所有内容吗?然后它应该像文件位置一样将附件放在管道中,然后管道将输出一个XML文件

错误:

Microsoft.XLANGs.Core.PersistenceException:将状态持久化到数据库时发生异常。-->Microsoft.BizTalk.XLANGs.BTXEngine.PersistenceItemException:批处理项目失败持久性项目ID 72fbeba9-6bfe-48e0-a0e6-ca5bbd191aa1操作类型MAIO_CommitBatch状态-1061151998错误信息由于未找到订阅者,无法路由发布的消息..->Microsoft.BizTalk.XLANGs.BTXEngine.PublishMessageException:未能在批处理中发布(发送)消息。这通常是因为没有人希望收到此消息。错误是无法路由已发布的邮件,因为找不到订阅服务器。具有身份-1061151998

Pop3属性:

管道配置:

我尝试停止业务流程和发送端口,并测试这两个位置

测试电子邮件位置时,我收到了一封带有.csv附件的电子邮件的相同错误

测试文件位置数据未到达数据库,但csv已被处理,因为我可以在信息日志中看到它

这让我得出结论,这个问题与mime解码以及我的管道从电子邮件正文部分输出的内容有关


同样,在研究了一段时间之后,所有的解决方案似乎都指向有一个专门用于电子邮件的管道的必要性,因为我需要说解码多体部分的哪一部分。我希望有一个解决方案可以让我重用用于文件位置的管道。

正如@Dijkgraaf提到的:


它并没有在管道中失败。由于没有业务流程或发送端口期望接收端口已发布到消息框的消息,因此失败

这意味着接收工作正常,消息已通过管道,并在Messagebox中发布,但没有匹配的订阅


在BizTalk管理控制台中检查路由失败,找出原因。可能是消息类型与您期望的不一致,或者一个或多个已发布的属性设置不正确。

请查看挂起的消息并检查CSV文件的主体部分。您的配置说明它应该是第三条消息BodyPart=2。

它没有在管道中失败。由于没有业务流程或发送端口期望接收端口已发布到消息框的消息,因此失败。第2部分设置为正文部分,但其他部分仍然存在。因此,这取决于管道的实际功能。此错误来自编排。与管道无关。@Johns-305我做了一些测试,我认为编排不会有问题。如果禁用编排,则测试电子邮件接收位置时仍会出现相同的错误,而测试文件时不会出现错误location@Ruud我如何利用MIME解码器只处理附件而丢弃其余的?与问题无关,但它可能会帮助我解决问题。您知道为什么如果停止业务流程,已经设置并正在运行的文件位置不会出现相同的错误吗?