我正在使用BizTalk 2013 R2。我有一个编排,我调用帮助程序类来调用Web服务(为了降低延迟)。该类是Serializable类。 Orchestration成功构建。当我从POSTMan测试解决方案时,它工作正常。
但是对于每次成功的回复,我也会在事件日志中遇到异常。
for i,j in zip(List_1,List_2):
j = database1.loc[database1['Categories'] == i]
数据库错误伴随此持久性错误。
以下存储过程调用失败:“{call [dbo]。[bts_UpdateMsgbox_XXXXXX](?,?,?,?,?,?,?,?,?,?,?,?,?,?,? ,?,?,?,?,?,?)}“。 SQL Server返回错误字符串:“警告:已强制执行连接顺序,因为使用了本地连接提示。;警告:已强制执行连接顺序,因为使用了本地连接提示。;忽略了重复键。”。
我在形状调用.net助手类中添加了NameError: name 'y' is not defined
。然后我注意到业务流程在第一次运行时运行了两次它抛出了Xlang - Persistence错误和数据库 - “忽略了重复键”错误,然后业务流程第二次运行并且响应成功完成。
很明显,我的业务流程运行了两次。然后我在形状调用助手类周围添加了范围。范围的事务类型为“无”。
然后解决了Xlang Persistence错误问题。
为什么我需要在调用之外添加额外的范围才能使其正常工作?
答案 0 :(得分:0)
这样的错误通常表明您的BizTalkMsgBoxDb性能不佳。 最初我建议运行BizTalk Health Monitor,这将指出最明显的原因。很可能有很多僵尸/孤儿消息,这个工具也可以帮助清理。
另请参阅数据库优化:
(详情请参阅https://msdn.microsoft.com/en-us/library/cc296892%28v=bts.10%29.aspx)
还要考虑:
如果事件无效,则需要评估数据库服务器磁盘性能。您可能需要迁移到更快的存储