从 C 头文件导入以创建消息定义

您可通过导入 C 头文件使用消息定义填充您的消息集(使用新建消息定义文件向导或 mqsicreatemsgdefs 命令行实用程序)。

您导入的每个 C 头文件将得到一个新的消息定义文件。消息定义文件的根名称缺省为 C 头文件的根名称,但新建消息定义文件向导允许您选择不同的根文件名。

如果消息定义文件已经存在,您必须允许覆盖以使导入能继续进行,在这种情况下,删除现有的内容并重新创建内容。

缺省情况下,作为 C 头文件导入的结果得到的所有消息定义文件属于 noTarget XML 名空间,因此将驻留在您的工作空间中的(缺省)位置。该缺省名称空间可通过指定目标名称空间进行覆盖。有关您可能要执行该操作的原因,请参阅带非 XML 消息的名称空间

在您的 C 头文件中,通常会有一个或多个 C 结构。您可以选择要导入这些结构中的哪个结构。然后,导入操作导入这些结喉,加上任何其他它们所需的结构。所有导入的结构被转换为消息定义文件中等价的元素、组和类型。

您也可以指定哪些选择的结构要成为消息定义文件中的消息。导入操作为您指定的每个结构在消息定义文件中创建消息和相应的全局元素。如果您没有指定要创建消息,则必须在导入完成后使用消息定义编辑器手工创建它们。

当您使用新建消息定义文件向导导入时,每个导入操作您只能导入一个 C 头文件。如果使用命令行实用程序导入,在每个导入操作中您可以导入多个 C 头文件。

如果您的 C 头文件需要任何其他头文件以使编译成功,您必须提供这些文件并指定它们的位置,因为您的头文件的编译作为导入操作的一部分执行。

导入操作期间将创建一个报告文件。此文件缺省位于消息集的 log 文件夹中。缺省情况下,它使用消息定义文件的名称,后面追加 .report.txt

物理信息

与创建逻辑信息一样,导入也可以创建物理信息。如果消息集包含任何定制有线格式(CWF)物理格式,则填充所有 CWF 层的物理格式属性。如果消息集不包含任何 CWF 物理格式,仅创建逻辑信息。 同样如果从命令行导入,则缺省情况下只会在新消息集中创建逻辑信息。如果还想创建物理信息,请参阅从命令行导入 以获取详细信息。

填充 XML 和 TDS 物理格式属性,因此它们使用缺省值。

如果您有一个或多个 TDS 层,导入可能引起任务列表中产生条目,警告您如果导入的 C 结构要出现在 TDS 消息中,必须设置特定的 TDS 属性。

如果 TDS 物理格式不适用于您的 C 结构,您可以忽略这些任务列表条目,因为它们只是警告,它们不会阻止以另一种格式(例如,消息字典)生成您的模型。

因为创建了物理信息,应用程序目标环境(平台和编译器)是重要的,例如,因为它控制了整数在消息中出现的方式。您可以作为导入操作的一部分指定环境特定的信息,且会相应地设置必需的属性。一定范围的环境是支持的;如果没有显示您的环境,您应该选择最接近的匹配并在导入完成后,使用消息定义编辑器复查创建的物理信息。

命令行调用

mqsicreatemsgdefs 命令行实用程序允许您在单步操作中导入多个 C 头文件。所有 C 头文件必须在同一目录中,且目录位置作为参数传递到实用程序。

您使用 XML 文件提供必需的环境特定信息和包含文件位置信息。此文件必须包含一个称为 <C> 的 XML 元素,该元素保存应用到实用程序的调用期间导入的所有 C 头文件的一组信息。提供了称为 mqsicreatemsgdefs.xml 的缺省 XML 文件。如果您想要对不同的头文件应用不同的信息集合,您需要创建多个 XML 文件,并多次运行实用程序。

mqsicreatemsgdefs 实用程序还允许您作为导入操作的一部分创建新的消息集,消息定义文件放在该消息集中。您也可以选择将这个新的消息集基于现有消息集。此设施使您能准备包含 CWF 物理格式的空消息集和预填充的消息集级别 CWF 属性,然后它们通过导入复制到消息集中。

声明 | 商标 | 下载 | 书库 | 支持 | 反馈
Copyright IBM Corporation 1999, 2006 最后一次更新时间:2006/08/14
ad00831_