BizTalk 消息中的公钥令牌错误 - 如何更改或修复

问题描述 投票:0回答:2

首先,BizTalk 还很陌生(这里是 2006 年),刚刚被扔进冷水里。

背景如下:更新了架构并使用错误的公钥令牌部署了它。用于发送发票的编排随后创建了一条错误消息,如下所示。

内部异常:收到意外消息类型“NevsSchemas.lt_invoice,NevsSchemas,Version=1.0.0.0,Culture=neutral,PublicKeyToken=33796310301beca5”与预期类型“NevsSchemas.lt_invoice,NevsSchemas,Version=1.0.0.0,Culture=neutral”不匹配, PublicKeyToken=ef01f6a8aeff3082

唯一的问题似乎是不同的令牌,因为它现在具有正确的令牌(ef01 ...)并且可以再次工作。

问题是,我有 114 张发票处于挂起模式,并且消息似乎包含错误的标记(3379...)并且不会使用新的(更正的)模式进行更新,因为它通常会尝试使用相同的消息.

有没有一种简单的方法可以恢复所有 114 个实例并让它们通过?

我想到了两个想法:

  1. 更改 Biztalk DB 中的消息并替换令牌值。但由于它都是压缩的,所以可能比第 2 个更令人头疼。
  2. 将消息内容复制并粘贴到新的 XML 文件中,然后接收端口会拾取该文件并进行正确处理。我们进行了测试,这是一个可行的选项,但这样做了 114 次?
biztalk publickeytoken
2个回答
1
投票

BizTalk Health Monitor 中有一个选项可以终止消息,但同时也可以将它们保存下来,然后您可以再次将它们放入接收位置。


0
投票

看起来您需要亲自编写一些代码来从挂起的消息实例中提取消息正文。

这可以通过 BizTalk Terminator Tool 或某些 WMI 代码来完成。有一篇有用的帖子http://blogs.msdn.com/b/biztalknotes/archive/2013/05/22/ saving-suspended-messages-using-wmi-powershell-and-the-microsoft-biztalk-operations - assembly-part-i.aspx 显示相关技巧。

提取消息并重新处理它们后,请确保通过 BizTalk 管理控制台终止挂起的实例。

© www.soinside.com 2019 - 2024. All rights reserved.