在消息映射中配置“If、Else if 和 Else”变换
使用“If、Else if 和 Else”变换可以设置条件,这些条件用于控制输入及输出消息组合件中定义为特定类型或派生类型的 SOAP 主体元素之间的数据映射流。
准备工作
请完成下列步骤:
- 将输入及输出消息组合件主体元素 any 强制转换为 SaveAddress。 有关更多信息,请参阅 将 SOAP 主体强制转换为特定类型。
- 将输入及输出消息组合件主体中定义的 Address 基本类型强制转换为 CanadianAddress 派生类型、UKAddress 派生类型和 USAddress 派生类型。 有关更多信息,请参阅 在 SOAP 主体中配置派生类型。
关于此任务
使用“If、Else if 和 Else”变换可以将多种派生地址类型(例如 CanadianAddress)映射到基本地址类型 Address。
在本方案中,每个地址都包含特定于国家或地区的元素:
- 在 CanadianAddress 中,每个地址都包含 Province 元素。
- 在 UKAddress 中,每个地址都包含 County 元素。
- 在 USAddress 中,每个地址都包含 State 元素。
基本地址类型 Address 包含名为 AdditionalInfo 的元素。 使用此元素可以存储那些在基本地址类型中没有相应元素的附加信息。
过程
请完成下列步骤,以使用“If、Else if 和 Else”变换将本方案中的派生类型映射到基本类型:
结果
现在,您有了一个用于根据地址的国家或地区来变换地址数据的映射。 此消息映射包含嵌套映射,后者使用了您定义的“If、Else if 和 Else”变换。
下图显示完成上述步骤后的消息映射:

后续操作
您现在已经完成了使用含有“If、Else if 和 Else”变换的消息映射对样本 SOAP 消息进行变换所需执行的所有步骤。