SOA动态选择不同的Domain Value Map文件方法

 

本文分两种情况叙述在SOA中同一个XSL Map文件使用Domain Value Map文件的方法。

1、Domain Value Map文件的常规用法

在项目集成实施中,采用DVM文件解决了不同系统间的值映射问题。

如证件类型的值:

A系统往B系统同步时,通行证在A系统的数据为Pass,到了B系统就变成了TXZ。

对于类似证件类型的多值映射问题,dvm很好的提供了解决方案。

在工程里定义好cdType.dvm文件后,应用于对应的transforma文件字段中。

以上为Domain Value Map的常规用法。详细资料可参考:http://download.oracle.com/docs/cd/E15523_01/integration.1111/e10224/med_dvm.htm

2、动态选择DVM文件

项目中使用dvm文件处理1:1,1:M的映射关系,是比较方便的,也是常用的。然而根据业务的规则,系统值映射关系可能会有最新的变化,出现M:M的映射关系。如此使用同一个transforma文件使用同一个dvm文件则无法满足M:M的映射关系。

解决方案如下:1、根据需要,制定满足不同业务规则的dvm文件,如A.dvm、B.dvm、C.dvm。。。。

2、选择Source中的某一属性为动态属性IdProperties(由实际的数据决定)

3、新增dvm文件,该文件用于指定动态属性IdProperties与步骤1中的dvm映射文件名字的关系
4、在transforma文件target中添加变量tmpDvmFileName,将IdProperites字段与tmpDvmFileName进行关联,并使用DVM的lookupValue函数。

该目的是根据动态属性,将规定的dvm文件名付给临时变量,供后面的步骤使用。

5、在M:M的关系字段上,使用DVM的lookupValue函数,不同的是,将dvmLocation的值变成$tmpDvmFileName,以达到动态选择dvm文件的目的

以上为同一个XSL Map中同一个字段使用不同的DVM文件的方法。如各位看官有更好的方法,请不吝赐教。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值