映射 Properties 树

消息映射中,您可以使用变换 (例如 移动 变换) 来复制值,或者使用 分配 变换来设置元素的值,从而变换 Properties 树中的元素。 您还可以将 Properties 树中的元素用作变换的输入数据。

关于此任务

Properties 树保存与消息特征有关的信息。 有关更多信息,请参阅 消息树结构

缺省情况下,创建新映射时, 图形数据映射编辑器 会在输入组合件和输出消息组合件中包含 "属性" 树。 根据输出域不同,它可以定义变换以更新某些输出元素。 然后,将所有未更改的元素从输入 Properties 树复制到输出 Properties 树。 如果输入和输出消息位于同一域中,那么用于原样复制所有元素的变换是移动变换。

此图显示 "图形数据映射" 编辑器在输入消息和输出消息之间的域中没有任何更改时添加的 "属性" 树。

注: 如果映射不需要对输出属性树进行任何更改,请从输出消息组合件中除去属性树。 映射 节点将未更改地传播 Properties 树。 如果您还不需要从 Properties 树读取任何值,那么可以从输入消息组合件移除 Properties 树。

在不相似域之间映射消息时,可能需要在输出 Properties 树中设置 MessageSetMessageTypeMessageFormat 元素。 需要设置的字段取决于与输出消息域关联的目标解析器。 创建新图时, " 图形数据映射" 编辑器 将放置 随覆盖移动 变换组,该变换组具有 赋值 变换,用于在输出中设置这些元素的缺省值。

例如,如果目标域是 JSON 而源是 SOAP,图形数据映射编辑器将定义一个覆盖来重置MessageSetMessageTypeMessageFormat 并将属性树中的其余元素从输入移至输出,而不作任何更改。

此图显示 "图形数据映射" 编辑器在输入消息和输出消息之间的域中没有任何更改时添加的 "属性" 树。

注意:当您映射到 SOAP 域中的消息,并使用 Cast 函数将 SOAP Body 中的 xsd:any 映射到由消息集格式定义的消息类型时,您必须将 MessageSet, MessageTypeMessageFormat 属性设置为属性树中该消息集的值。

过程

将 "属性" 树添加到 消息映射时,可以完成以下任何映射任务:

  1. 使用 Property 元素定义条件表达式来确定是否可以在映射中的任何位置应用变换。 有关更多信息,请参阅 定义变换的 XPath 条件表达式
  2. 使用 赋值 变换在不使用输入数据的情况下设置固定值。
  3. 使用变换根据 Properties 树中的元素值来计算或设置输出消息元素的值。

    例如,您可以使用移动变换将输入元素值复制到输出元素。

  4. 使用变换根据消息其他部分中可用的元素值来计算 Properties 树元素的值。
  5. 使用 Properties 树中定义的元素值在数据库中插入、更新或删除数据。 还可以在选择变换的 Where 子句定义中使用 Property 元素的值。
    • 使用变换插入将新数据添加到数据库中的一个或多个表。
    • 使用变换删除来删除数据库中一个或多个表内的数据。
    • 使用变换更新来更新数据库中一个或多个表内的数据。
    • 使用数据库例程变换来通过存储过程更新、插入或删除数据库中的数据。

后续操作

  1. 消息映射 中定义变换以设置输出元素的值。 有关更多信息,请参阅 指定变换 (映射操作)
  2. 部署该映射并验证输出消息是否有效。 有关更多信息,请参阅 部署消息映射