【发布时间】:2020-10-05 15:28:49
【问题描述】:
我在我的 BizTalk 项目中定义了一个来自 JSON 实例的架构。实例键/值在双引号中,因此它们意味着它们是字符串。但是 JSON Schema Wizard 将其设置为 xs:unsignedShort。我将其更改为xs:string。当我运行我的项目并且某些消息包含大于 65535 的数字时,会出现此错误。我从自定义(xml 到 json)管道的跟踪实例中收到此错误:
Reason: Value was either too large or too small for a UInt16.
我还检查了 Microsoft BizTalk 管理控制台中的Schemas 选项卡以获取我的架构;架构视图与 Visual Studio 中的项目相同。问题是什么?我很困惑..
【问题讨论】:
-
您是否重新启动了重新部署架构的主机实例?您是否检查过 GAC 以确保那里的版本已更新?
-
@Dijkgraaf 嗨,你能帮我解决这些问题吗?我确实重新启动了主机实例,但什么也没发生。
-
@Dijkgraaf 我了解了它,所以我有一些问题。如果主机实例重新启动,是否保证 GAC 会更新内容?我还了解了 .NET 中的通用版本控制。我以前没用过。所以我应该在每次部署时更新版本?这解决了问题吗?项目开发中的每个工件是否都指定了版本?我应该如何在 BizTalk 中与 GAC 和版本控制进行交互?附言我是这些东西的初学者,所以当我问多个问题时这听起来可能很疯狂!;) 如果有更好的地方,请指导我在那里提问。谢谢!
-
是的,重新启动主机实例会强制它卸载内存中的 DLL,并在再次需要它们时从 GAC 重新加载它们。不,您不需要每次都更新程序集版本号,如果事实上我们只更改文件版本,因为更新程序集版本会增加额外的复杂性(研究“biztalk 并行部署”)。不仅每个项目都有一个 Assembly 和 File 版本。
标签: biztalk xsd-validation biztalk-pipelines biztalk-schemas