生成实例 (EDI)

可以在设计时从 EDI 架构生成消息实例。 为此,请使用 Visual Studio 环境中的 BizTalk Server 的 XML 工具扩展。

可以生成完整的批处理交换(包含交换和组标头)或事务集(没有交换和组标头)。 如果执行该作以生成完整的交换,BizTalk Server 将生成一个文件,其中包含一个交换标头、每个架构的组,以及每个架构的每个组的三个相同的事务集。 如果执行该作来生成事务集,BizTalk Server 将生成包含单个事务集的文件。

若要生成完整的批处理交换,请在批处理架构上执行生成实例命令。 BizTalk Server 将检测项目中的消息架构,并自动包括这些架构的事务集。

若要生成单个事务集,请对消息架构执行 generate-instance 命令。 在这种情况下,无需将批处理架构添加到项目中。 生成的实例将不包括互换或组头,因此您必须手动添加这些部分,以确保EDI互换能够正常运作。

生成实例时,BizTalk Server 会显示一个对话框,在该对话框中指定该实例中使用的配置,包括分隔符和语法标识符。

先决条件

必须以 BizTalk Server 管理员组的成员身份登录。

生成批量交换的实例

  1. 在 Visual Studio 中,打开项目。 在解决方案资源管理器中为消息实例中所需的每种类型的事务集添加消息架构。 将编码类型的批处理架构添加到项目:Edifact_BatchSchema.xsd 或 X12_BatchSchema.xsd。

    注释

    批处理架构位于 \Program Files (x86)\Microsoft BizTalk Server <VERSION>XSD_Schema\EDI 文件夹中。

    注释

    无需生成项目来生成实例。

  2. 右键单击解决方案资源管理器中的批处理架构,然后单击“ 属性”。

  3. “属性” 窗口中,将 “生成实例输出类型 ”设置为 “本机 ”或 “XML”。 选择 Native 将提示生成具有 .txt 扩展名的平面文件。 选择 XML 将提示生成 XML 文件。

  4. 对于 输出实例文件名,请输入名称或浏览到文件并选择该文件。

    注释

    如果未为输出实例文件名输入值,则会为你选择一个值。 文件名将显示在 Visual Studio 的“输出”窗口中。

    注释

    如果选择现有文件,现有文件的内容将被由此操作生成的内容替换。

  5. 右键单击批处理架构,然后单击“ 生成实例”。

  6. “EDI 实例属性 ”对话框中,选择要在该实例中使用的分隔符、标识符和其他配置选项,然后单击“ 确定”。

  7. 请验证该操作是否在输出窗口中成功运行。

  8. 若要查看文件,请按 Control 并单击 “输出 ”窗口中的链接。 Visual Studio 将在 BizTalk 编辑器窗口中显示文件的内容。

    注释

    生成包含 837I、837D 或 837P 的实例时,GS08 的值将错误地设置为 00401。 有关详细信息,请参阅 EDI 解决方案中使用的 XML 工具的已知问题

生成一个交易集实例

  1. 在 Visual Studio 中,打开项目。 添加要为其生成实例的事务集类型的架构。

    注释

    无需将批处理架构添加到项目,才能生成事务集的实例。

    注释

    无需生成项目来生成实例。

  2. 右键单击解决方案资源管理器中的消息架构,然后单击“ 属性”。

  3. 在“属性”窗口中,将生成实例输出类型设置为本机XML。 选择 Native 将提示生成具有 .txt 扩展名的平面文件。 选择 XML 将提示生成 XML 文件。

  4. 对于 输出实例文件名,请输入名称或浏览到文件并选择该文件。

    注释

    如果未为输出实例文件名输入值,则会为你选择一个值。 文件名将显示在 Visual Studio 的 “输出 ”窗口中。

    注释

    如果选择已有文件,文件的内容将被此操作生成的内容替换。

  5. 右键单击消息架构,然后单击“ 生成实例”。

  6. “EDI 实例属性 ”对话框中,选择所需的配置选项,然后单击“ 确定”。

  7. 验证 “输出 ”窗口中是否存在指示作成功的消息。

  8. 若要查看文件,请按 Control 并单击“输出”窗口中的链接。 BizTalk Server 将在 BizTalk 编辑器窗口中显示文件的内容。

  9. 要创建功能性 EDI 消息(电子数据交换),请在文本编辑器中将交换和组标头添加到消息中。

另请参阅

使用 Design-Time XML 工具
验证实例 (EDI)