生成实例 (EDI)

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

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

要生成一个完整的批交换,可对批架构执行生成实例命令。 BizTalk Server将检测项目中的消息架构,并自动包括这些架构的事务集。

要生成单个事务集,可以对消息架构执行生成实例命令。 在此情况下,不需要将批架构添加到项目中。 但是,生成的实例将不包括交换或组标头,因此,您必须手动添加以获得能够工作的 EDI 交换。

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

必备条件

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

生成批处理交换的实例

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

    注意

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

    注意

    您不需要生成项目来生成实例。

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

  3. “属性” 窗口中,将 “生成实例输出类型” 设置为 “本机”“XML”。 选择 “本机” 将提示生成扩展名为 .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”。 选择 “本机” 将提示生成扩展名为 .txt 的平面文件。 选择 XML 将提示生成 XML 文件。

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

    注意

    如果没有为输出实例文件名输入一个值,系统将为您选择一个文件名。 文件名将显示在 Visual Studio 的 “输出 ”窗口中。

    注意

    如果选择了某个现有文件,将使用此操作生成的内容替换现有文件的内容。

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

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

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

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

  9. 若要生成可工作的 EDI 消息,请在文本编辑器中将交换和组标头添加到消息中。

另请参阅

使用设计时 XML 工具
验证实例 (EDI)