使用英语阅读

通过


常见错误

本主题列出来在使用 BizTalk 映射器创建映射时可能遇到的常见错误消息。

分析日期时收到错误事件 ID 324

问题

使用映射中的“数据库 值提取程序” functoid 提取日期字段时,文档可能无法验证出站文档定义。 BizTalk Server可能会记录类似于事件日志中的验证错误:

事件源:BizTalk Server

事件类别:文档处理

事件 ID:324

说明:

BizTalk Server中出错。

详细信息:

------------------------------

XML 文档验证失败,原因如下:将“10/12/1995”分析为日期数据类型时出错。

挂起的队列 ID:“{A1127909-CA36-4359-B672-7CBA8B60BDAF}”

原因

从数据源返回的日期格式 (,) 不是 ISO 8601 格式,这是 XML 所需的格式。

解决方法

若要解决此问题,请执行以下操作之一:

  • 编辑出站文档定义以使用字符串数据类型而不是日期数据类型。

  • 创建自定义 MicrosoftVisual 基本 脚本 functoid,它将数据库 值提取程序 functoid 的输出转换为 ISO 8601 格式。

编译映射时,在地址 53624FD6) 收到内部编译器错误 (0xc0000005

问题

编译由大型架构、映射或业务流程组成的单个 BizTalk 项目时,编译器可能会生成类似于以下内容的错误:

内部编译器错误 (0xc0000005 地址 53624FD6) :可能罪魁祸首是“CODEGEN”。

原因

Visual Studio 编译器对单个项目中所有字符串的总大小有 16 兆字节的限制。 编译 BizTalk 项目时,编译器会序列化用于创建程序集的架构、映射和业务流程,这会增加所有字符串的总大小,这可能会超出限制。

解决方法

若要解决此问题,可以将架构或映射分离到不同的 BizTalk 项目中。

收到有关 BizTalk 项目类型名称的错误

问题

在 BizTalk 项目中,创建文件名为 System.btmMicrosoft.btm 的映射。 生成项目时,BizTalk 映射器会生成类似于以下任何一项的错误:

  • “类型名称‘SerializableAttribute’不存在…”

  • “类型名称‘NonSerializableAttribute’不存在…”

  • “类型名称‘SerializableAttributeAttribute’不存在…”

  • “类型名称‘XLANs’不存在…”

原因

“属性”网格中的“类型名称”不应有任何保留的 .NET 命名空间,例如 SystemMicrosoft 等。

解决方法

若要解决此问题,可以遵循以下任一解决方法:

  • 将映射名称修改为非 .NET 保留字的任何字符串。 默认情况下,BizTalk 项目系统根据相应项目的名称创建 类型名称

    例如:创建名为 Map1.btm 的新映射会将 Type Name 属性值设置为 Map1。 但是,重命名现有 BizTalk 项目不会更改 类型名称

  • 确保 BizTalk 项目中的所有项目的文件名不是 .NET 保留命名空间。

收到有关 BizTalk 项目的文件名的错误

问题

生成 BizTalk 项目时,BizTalk 映射器会生成一条类似以下任一内容的错误:

  • “文件 <文件名> 具有命名空间和类型名称属性的重复值。”

  • “命名空间 <名称> 已包含'_'的定义。”

原因

在 BizTalk 项目中,检查是否存在以下情况:

  • 多个项目具有相同的文件名。 例如, Map1.xsdMap1.btm

  • 文件名仅包含特殊字符 (~@等 ) 。

解决方法

若要解决此问题,可以遵循以下任一解决方法:

  • 重命名文件。 确保 BizTalk 项目中所有项目的文件名都是唯一的。

  • 确保 BizTalk 项目中所有项目的类型名称都是唯一的。

构建任何具有 BizTalk 映射器的 C# 工作流项目都会显示一个有关 EnvDTE.dll 的版本冲突的警告

问题

构建任何具有 BizTalk 映射器活动的 C# 工作流项目始终会显示以下有关 EnvDTE.dll 的版本冲突的警告。

没有办法解决“EnvDTE, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”和“EnvDTE, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”之间的冲突。 任意选择“EnvDTE, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”。 考虑 app.config 重新映射程序集“EnvDTE, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a” 从版本 “7.0.3300.0” [] 到版本 “8.0.0.0” [C:\Program Files (x86) \Microsoft Visual Studio 10.0\Common7\IDE\PublicAssemblies\EnvDTE.dll] 以解决冲突并消除警告。 C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets (1360,9) :警告MSB3247:发现同一依赖程序集的不同版本之间存在冲突。

WorkflowConsoleApplication3 -> C:\Users\btslabs\Desktop\WorkflowConsoleApplication3\bin\Debug\WorkflowConsoleApplication3.exe

原因

之所以会发生这种情况是因为映射器活动所引用的 Microsoft.BizTalk.Mapper.OM.dll。

解决方法

忽略此警告。

另请参阅

地图疑难解答